{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "9"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import random\n",
    "\n",
    "random.randint(1,10)\n",
    "random.uniform(1,10)\n",
    "random.randrange(1,10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2\n"
     ]
    }
   ],
   "source": [
    "g = (a for a in range(8))\n",
    "\n",
    "next(g)\n",
    "\n",
    "next(g)\n",
    "\n",
    "print(next(g))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入a值：adc\n",
      "2\n"
     ]
    }
   ],
   "source": [
    "test = 0\n",
    "\n",
    "try :\n",
    "\n",
    "   a = eval(input(\"请输入a值：\"))\n",
    "\n",
    "except NameError:\n",
    "\n",
    "    test = test + 1\n",
    "\n",
    "else :\n",
    "\n",
    "    test = test - 1\n",
    "\n",
    "finally :\n",
    "\n",
    "    test = test + 1\n",
    "\n",
    "print(test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0, 4, 16, 36, 64]"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a=[x*x for x in range(0,9,2)]\n",
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import turtle as t\n",
    "\n",
    "t.pensize(2)\n",
    "\n",
    "for i in range(8):\n",
    "\n",
    "    t.fd(150)\n",
    "\n",
    "    t.left(135)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "L =[2,3,4,5,6]\n",
    "L1 = L[:]\n",
    "L==L1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入需要阶乘的值：6\n",
      "6!=720\n"
     ]
    }
   ],
   "source": [
    "try :\n",
    "    n = eval(input(\"请输入需要阶乘的值：\"))\n",
    "except:\n",
    "    print(\"输入异常\")\n",
    "else:\n",
    "    result = 1\n",
    "    for i in range(1,n+1):\n",
    "        result*=i\n",
    "        if(result>10000):\n",
    "            print(\"{}!={}\".format(i-1,result//i))\n",
    "            break\n",
    "    else:\n",
    "        print(\"{}!={}\".format(n,result))\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入AQI空气质量指数：44\n",
      "空气质量为1\n"
     ]
    }
   ],
   "source": [
    "aqi = eval(input(\"请输入AQI空气质量指数：\"))\n",
    "if 0<=aqi<=50:\n",
    "    print(\"空气质量为1\")\n",
    "elif 51<=aqi<=100:\n",
    "    print(\"空气质量为2\")\n",
    "elif 101<=aqi<=150:\n",
    "    print(\"空气质量为3\")\n",
    "elif 151<=aqi<=200:\n",
    "    print(\"空气质量为4\")\n",
    "elif 201<=aqi<=300:\n",
    "    print(\"空气质量为5\")\n",
    "elif aqi>300:\n",
    "    print(\"空气质量为6\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入需要转化的摄氏度：34\n",
      "转化后的华氏度为：93.20\n"
     ]
    }
   ],
   "source": [
    "try:\n",
    "    C = eval(input(\"请输入需要转化的摄氏度：\"))\n",
    "    print(\"转化后的华氏度为：{:.2f}\".format(C*1.8+32))\n",
    "except:\n",
    "    print(\"输入参数不正确\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "import turtle\n",
    "\n",
    "turtle.pencolor(\"red\")\n",
    "turtle.fillcolor(\"red\") \n",
    "\n",
    "turtle.begin_fill()\n",
    "for _ in range(5):\n",
    "    turtle.forward(200) \n",
    "    turtle.right(144)  \n",
    "turtle.end_fill()\n",
    "turtle.done()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "import turtle\n",
    "\n",
    " \n",
    "for i in range(20):\n",
    "    turtle.forward(i*15)  \n",
    "    turtle.right(120) \n",
    " \n",
    "turtle.done()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1.长度\n",
      "2.重量\n",
      "3.货币\n",
      "请输入需要转换的类型序号：2\n",
      "请输入重量单位kg：33\n",
      "等于33000g\n"
     ]
    }
   ],
   "source": [
    "def cd():\n",
    "    tmp = eval(input(\"请输入长度单位cm：\"))\n",
    "    print(\"等于{}m\".format(tmp*100))\n",
    "\n",
    "def zl():\n",
    "    tmp = eval(input(\"请输入重量单位kg：\"))\n",
    "    print(\"等于{}g\".format(tmp*1000))\n",
    "\n",
    "def hb():\n",
    "    tmp = eval(input(\"请输入货币单位$：\"))\n",
    "    print(\"等于{}￥\".format(tmp*6.9))\n",
    "swicher = {\n",
    "        1: cd,\n",
    "        2: zl,\n",
    "        3: hb\n",
    "    }\n",
    "print(\"1.长度\\n2.重量\\n3.货币\")\n",
    "try:\n",
    "    index = eval(input(\"请输入需要转换的类型序号：\"))\n",
    "    swicher[index]()\n",
    "except:\n",
    "    print(\"输入参数不正确\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a->b->c->d->e->f->g->a->b->c\n"
     ]
    }
   ],
   "source": [
    "s =\"abcdefgabc\"\n",
    "print(\"->\".join(s))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "None\n",
      "None\n",
      "<re.Match object; span=(5, 8), match='021'>\n"
     ]
    }
   ],
   "source": [
    "import re\n",
    "\n",
    "\n",
    "\n",
    "string = '''\n",
    "substring'''\n",
    "print(re.match(\"substring\",string))\n",
    "print(re.search(\"^substring\",string))\n",
    "print(re.search(\"\\d{3}|\\d{4}-\\d{8}|\\d{7}\",\"电话号码：021-23439983\")) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAATAAAADnCAYAAACZtwrQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOydd3yb1dXHz7n3GdqSdxw7sbPJJjtAAiEJEPYuZZawR6DsVXYII+y3QFtKyyqFskoLAcqGQCCD7JBJtuO9tJ9x733/kJTIshxLtuwkoO+nFPzo8X2urEfnOffcc34HhRCQJUuWLAciZF9PIEuWLFk6StaAZcmS5YAla8CyZMlywJI1YFmyZDlgyRqwLFmyHLBI+3oCWfY9lCA561TH2cdMtc1IfI2ZwtQN0A1DGIYpDMaAcQ6cCyFAwC9iC5sQJJQClShIkoSyoqAsy6gQ0voBv/DH8A9/fdX7F8MQ5r6Ya5aWZA1YFkAEHD1CHXPu6c7z4o+LJDk2An4pZqsliJF/JRwFxJbHZIrS31/zvQAAGTVgx06zHzt1snV6JsfcVyxYHP72vx8H/sOY4F19rawBy9ImiIitjgFg4tc8S+eZdrh1+nWXe27Y1/PIBIbRqL//v8B/u+Na2RhYliz7AS4Hce3rOWSKpmbeyDl0ufcFkDVgWbLsF7icvwwDxrngzT7u5bx7SnyyS8gMQCkSRQFV10FnTLB9PZ90EQCivoHVrd+krzNMYZommIwJkzFgjAPjTHDGgTEm2O5jXHDOgQsBnHMQQojIvwFi4f3IHRz7NwDk5ZK8SROskxUZldi1ORd8yXJt8bYd5tZU5qqqaDniUOsUt4u4449v3mr8vGyVtoyLyJM/FrtCBIz9QxAREQghQAgCEgKEECSEAKUUKaVAKQFKCBJCgdC44xJFSZJAqq41q5PFBjuDLKH0zks97MleY0ww08xsvC0TIAGUJZATwwyMAfMHuL+75pE1YBmgd2/a96abnPft2G5uOe5Yy4/rN5hrqqp4RSgkQpx3fSCzszAmeEEeff6Nf/tfN01hmAxMkwnGE4wVAICIC+GLhHB+ewH+iWPVQ97+u/quItM4Awb8b695//rPd/yvpTLXgjxaMO/14o/dLqWFAft6QeirG++pu8EwQE/6ixj7X9yhuGhenMEjNGrACAFKSdSASUglClIwJEKGAUYqc00VWUbZaiHWZK8tWqotfPlf3pdMM7PX7CxDBinDrprpuspiwRbzNpkwg0ER6K55ZA1YBsjNJfnTpqrHOZ0WdzgMwbo6Vrt5M9vw1lvBlynFfx0IXlltPasDgLquvMah4y1aMt/FMIQRCvNwKmMUFkhaouEEADAZsLAmQrou9qsveiooCipWK9qSvbZqrbbqlTd9L+1v7+uEo+0nXH6B6/LE44wBC4R4txmwbAwsAzjs6FQUVBERrVa09+ollR9yiDLF6SJuIbonmJnlwEWRQbFZMakH5vMLL2ep30OyhNLQg5ShHhd1t392x7Fa0Eoo0MTjLOKBBbvy2vFkxAOzWNAiSbjfenOmKcxwWKT0hO8ILjfxKAqo8cdqaljlDz/oX6cTzLTZ0Hb2b20XFxfT0szPMsJ332lffP2N/kl3BVmztI8so2K1tPbAhBDC5+c+luKOnkUl6nlnOs+5eZbnto8+D87zuOl9Tc2sOfMzBrBaiJUSbOUAmQxYKHwAGTBFQeWqqxw3TZ6kTMvEhLqC777Tv5QknGOaXbOUK8gnRSThw/zpJ3PFjh1sWzrjUIrS8SdYzpgwXpmc2RnuIRAU/q+/0T/pqvGzpI/SRgxMCBD+APensmngsBPHrIvdV9w0y3NrXg7J69XTdYWmCc3pIHN8/swH1a1WtBKSzAMDlmo4IBNkxGsqLaVlhxyiTsnEWF3Bpk3muq4cv2dP2iv+Z84FX7hInx9O80nEGJjeZtGULIE0EwghRDgkglnva//CakWbouzZmY3BGJj+APe19/sFeTT/7ptyb73sAtcVdhvao6EM69UXu68JaSLssJPH/IHMxqWsFrQmK7UyTWFomtAyea290WkDxjmw7tx16Aj1DbwuWeA3ExCC5LlnPWXxxwJB4V+xwliSrqFgTDCvlzdldoZ7EAJEWEt9KZ3joZ6zTnGc7bATRyauf85pznJVxRZLbSSAM6bZj7vp6pyiVMa4aqbLkZdL8hOPjxyqjLzhCs9NN12d0+mUg7Amwu+873+rstqs6uxYqeCwE4cstf4umkwwn1/s1XuSJZRuutpz2VUzXbMsFmKJf81uI/Ybr/TcyBkwu408EQjyjC3trBa0JZZZAQBoutC7c8c0EwZMhEMtPQ0hhIjkEkG3775RCkSWWz7NmptEY1cZMJsN7T160JL4Y/V1vGbbNvPndMfiHHgg0PKG1XWhf/ZZ+IOqal6R7ni9e9O+U49UZxCCNDZ+Ok9Hl5O4b7rKc0vvUql3utdui8SbniCQM0+yn3nGifYzOzoGAMC4Uer4sQer4zIxx7oGXvfN96GvAaBbDJjdRuzJYsjRnKq9emCGKcyDBijvHjnJOnXKYdYjE0MZdhs6brjSc5OmC82ikv8La7zT3hGlSO69JdeWbKWgaUIzzO4rdM+AARP8hhucYSGEiL0hxoG9/XbolQULtC87P8X0GDdOOeyCC+xXxn6OBkKbu2rZ5HKhu6CQ9Ii/3s6dbFtjo6hPdyzOgQeCrQxY+KWXg88uXKh/k+54Rx9lOemIw9WjY7EKLoAbOqR8A+u60EwGRuKXIpNE75lOL5oxkqSakaU354KFQiKUibFSwWFHh0RBTjzOmEgpKXTdRn3d0IPU3z83N//Ph4yzHEpwz+eFiOhyguuWazy3NTaxBlnClztrYAgCsSXZdAAA0A2hmaz7Em8zEgPTdaEJASJ2AwkOfNkyfeE774ZSSk7MJGecbsV4A8YYsESvJpMUFdHiHA/JjT+2eYu5MdgBd10I4OFw6y8OM8HsiHzLjGMsLTxgwYEbZur5RJHd2+4LyO4v6LrQdb374jh2G3G04YGZ/hTv3TXrtDWjR6i///Ojhc+PGqGMjveOEBFzPTT33ltyZzc28UZK8b3OKEUgAbTakhswTReamcY91lky8mQ1dNC7aonWWRgDM5lRyBRlZbSfzYa7Y0RCgFj7k7miI2NxLoSuCS3TpSotr5F6ThHnwLVu/CLvL2i60E3Wfcsghx0dVGq9o6fpQg+Fecr37tKV2tJr76idtWKNvjzZPdSjUOrxyN15j06bbJ1OSMd9XoJIbFaS3IBpQjcPpCUkQCSTOmlZyX4AY4JpaQSu04FSJDfc4Bgsy3vc/7AGoc1bzI0dHVM3Ig+DTC2H4hEC0vpUGAeWLGYmhBCBoAgEguntbMkyyh4X8cQvSYUQwusX3lQ9PUKQ5LhJTqLHEgrxoM/PfencdBYLsbgc6EqM5eg6aN1Vf0gI4nWXu12JZU4AAOGwCKX7AFm0TFt449111z83t+DPA/vJg1p6YoDlvaU+c+/Je+yKm2ovBYCFHZszEFsblQO6LrrtbweQKQNmgp6Ycb6/bNQzBkzTUo/7JINSJEKASIyjKQqogw+SR8TfJN5m3lRVlX7APQbfj8qOOBdcT1JbyDnwV9/yvfK3f3j/ms54I4eqI5+ak/9HpwOdsWOMA3viT02Pzfsk8EEqY+R6aO6fHyt4vm+53C/++EdfBD969JmmRwwj9eXLCUfbT7zjupw7FQVabPoYpjC7q4YVEdDlJK2MKABAKCxC6S5lOReCUpx/+wP1tz7zcMFzxUW0Z+JycsggZehDd+XN7d9HvmjTFiPtzSZEaNsDiywhDywDZprCbLWE3E+WlJwDN9O4qRMZMEA66Pe/d/xG04R20UX2QDgsQroOOjOFecbpNueQIdKI+POFADFhgnL4ySdZR7Q1Zow1PxkrNm0y1yfOd39ZjnMBoq2bsaqaVS5frS1PZ7xDx1tsrepCBcCOncb2VMcqLJAKk6WC1Dfw+hVrtOXp1Az+7iznyKR1laYwUs1+7ywEgbidJGnZTyjMw5reRnH6XmBMcFnCD2c/3nj/w3flznUnlBURguTQ8ZbD7r0ld3ZuDr26oZE1pjVnAtiWB6ZpB2AQn5nQwoAJaK1UsK/gHLhhpn8TxCgrk/pdfZXj1lixbeR9CcF55P0lJvP16EFKHpzjera9cRkD8w93Ns8CgFYGDPaT5Xe6Qf9fCowDF91kwJAAJkoDxQh3wAOLYZjCtFjIy8VFtPimqz23JHpMlCA97XjH6dt3mtvsNjI7nRwxSUIpMZ8vRjDUvTmhmTFgHFo9VROXlD2KaLHLRTxeH28OhUTQNMHgXPAW2lEdwDTAYHtx94UAnkmXNhKbQqStQq6x1xGlJEmJieg612preXXi8f0ldggQMdbdpay5PyEE8O76HAgiacuAhcIi2JlNlHCYazke+nRJsVR6wVnO38kStkjVUBRULr3AdfnKtfpKQvCNVFONFBkVRW5dOQAAEAiKQHfewRkxYLsNUfyxuJ8JQXL5ZfZzLrzQNsvvF95AQPh9Pu4NBIVf10DjXLCOvGddA+0vz/ufAIA2S4WEECJTCbVR76vFsfj4QtzOT7K3g/FNInQdtLq61gZsf0JAeruWvxTS3ezoDJQCddiJM9lr/gAPdFaKqbGJNfUtkx/q30fuf/ghliNi92tsI+ajz4Ifbtikr29vnHhkGRRFhqQGLBjiQd6Fu+iJZMSAJVkuingPDBHAaovIzGTiejGqq9mu5//qf6K9uXXmS9jQwOu+/lr7hDFhhjUR1jXQdF1oSIBMm6oeV1KyJ0s9GBT+j/+n/aexgbfS1Zo8WTlq4EBpSGyzKRgUgeYm3m7sARFIbi7J79GD9kx37lOmqLmdShAVUXXVXxkEu69xiaKg0lZA3Ovn3kz8/TdvMzZPnmi9+5Xnil4rjSqdVFSxioefapzzz3d9r3l97ddbJs45sdolRqAbpXQAMiVomORPHIsRdSUVu9iOZMuweHZLHHeQlSuNJVfPajyHmWCaLKJOCgCQl0fzDx4pjyspgd0GrKKC7Xj4Ye8dFRVsR/wYhCD54/95XokYsAheL28OpFBDarWi7f77XU93JJfNZkM7pVnRynRBAgSxe7TyLCparJbkWmBer2jO1ANkweLwd48/1/joQ3/Ie3jDZmPDbbPrb/lyfugLswMeXnQJ2apyAAAgGOw+OWmATBmwJE8rztv+w8SWYrEPJ5UPiRBAxJb5Q5s2mmv9fuHd6y+KuP/vAFEJnlbGIy+PFObl0YL4Yzt3sq1NTaIh8VxZBslmR0f8ctPnF82pqFUQgqQr9cH2BkZ14/fFtfclEkXaXe9bVdFibUPMsNnHMmbAGBM8x01fzc+l+fM+DX7w4wotbbGBGIqMSjL1DIAD1ANLTLoUAoDHxZ2EALF+vbnmzTeDLwWDIhBL0DMM0BkDJtrJuSEE6dRp6nFjxyiHxI4xBubq1cayrtL4ao/iHqTE48HdJURCCLFho7k2WdKsLKPqdGKLQK3fx31dKbKYCRABpSSqm4iA40erE66+yH11OuOddryjr5pw4yMCTp1sm371Re6kcaBEZp7tdCaWbgEADB0kD73id+6rrr7InfKGzdTJtgk0yfuTJZCTifV1BRYF1URd+Rhen8jIEjJGYzNrUhWcY0Q20Do87t6WkMFulJMGyJABIwRIQtRAxOfRcC6EJOF/Pv00/D7n0db0afwBrVa0DhsujYo/FgiIwJqfzHZzhzBJM4dM0L+/dFD8VrJhgL5+vbk6mUFVVVQ9bpITf6y+ntemkrEshBDBoAiwDuTWSBLIVismVQ1IBUJaK3sARIzOsdNsxx1zpG1GOuMl8+gIAXL26Y5zfnuq4+zUBgGgSYT0Jo61HDJ+tGVCWvMhgCTJUlGWUeno0tuionrMkbYZTidxhUIiGNZEWDeErutCNwwwzGi3J84F4wLEsMHKAIctuVyR20XcwwYrw0cMSZqx0CEG9Y98nJ0Zc8RQZbBFRUuy1/LzaMHIoepIQoBQikSiIEkSyrKMsiKDoiioqAqqioKqRUV1weLwgnUb9Q7r9WXIgCFN/IYk7p50JpXB5SKest5S3/hju3axHVu3piRZg0gya8AoRfLwQ+5h8Te518ub160zVyc732ZDu8tFPPHHdlawrano5YdCEJwzx3fL6jVGWkmjAAATJiiTb73FOSeVtI5kEII0Wb5PTPkhE8ssRESKQDs7UrQ9Wka8JlVFVUpSm5gKNiux3Twr59bxo9UJpgkm45FWdNGHNucCuIi2nwMBglKQ2kqjuOYS9+8vPb9144x9jSyBbLdj0jZwt16Tc/t1l3tu2NPKLtrGLvr5RA0bpQQoImC0pGnfGjBKI5OJP9YRj6EtinvQksJCUhz7WQghfvrJXNHY2Hq3L5HoHzKjywGHA50DBuzZUQQA2LGDbdm5k21Ndn5uLsm32/cUfHMu+LZtbHMqXijngq1fb65ZskT/Pt15zjjGUtiZJYhEgbaVcf1LRlVQkaXkS6RUIQRJpESp489Op4M4nQ5IaWm9v5BOg95MlGtl5ItNKUjxS0ghQOxteWSxoCU/nxakWhE/ZIg00u3e48GYJhhLl+o/hMMpJPkhtsqW7yz5+aSoVy9avls+SAixcqXxY1tqqvn5pNBm2/PECoVEcNeuljuV+yOyjLK9jeXNL5no0jtpXCrL/kVGPDBJQikxztTWklGSUDrnbNvvTjzJctaLfw/8UVVxnqaJNkt9ZBmlhx50T5TjEueamnjjsuVG0kr6RHcj0qi0Y8uBtujbRxqQm0t270DqOmjff69/1ZZmV0kJLYvvWuTzCW/lLrYzk3PqInD1Wn1lbR3brxNuM43Xx337YzfsLK3JiAGLtBjfY8A4FzzZEpIQxKOmq8f9/jrHXT2KSM9hQ+WD33gj+PeePelTu9r4QufmkvyRI+Wx8YHoDRvMNVu2mJuSnc8TypoIAhKKGTVgo0bLE+MVDCor2c7ly43Fyc4lBPHee10Hxc+/uprtqm/gtZmcU1dQW8dqLr2+5mLshHbUgUh046TD6QACIkXwJgMz+l1g0WoVzmPJwQIAMLJMTFaWo+tC9/r53lOE9hE2K9qsFrQmbg4xJlizjzcLDhz2xMAQcU/8KxYPi8XAOjuXzHhgMsokLlDOGLBkBmzsWPmwu+5yPdajiPRERHS7Mefii+2/Hz5cHn3IRPXexUv07xJ38YYPk0f36UMHxH7mXPD53+qft5X/xRiweD0tRMBkW+UdxWpF69//lrtbe10IIVasMJZUVrGkEjqqCpZ+femg+PO3bWebfb528tf2A6I1pmllaf/aCYZ48Innmh5zOokrGOSBsCbCmi60mEqDaUZ2IYUQwmYltidn5z89aoQ6On4MIYT4dlFo/m3319/Sqs54H4MAeN0VnhvOPd1xXuJrVTWs8pLray6uq2e1hCChFKgsoSRJEN2FxN27kKqKFlUB9fsl4bRju/FkxIApMijxgXLGgLGEJSQi4nHHWYogWmaEGDEqkoTSxInKEY8/4f7700/7H7BY8I1YfhSlSGbf7zouvu16U7NoWLBA+7ItSdxI3WP08QaRJaSUwWz0oiLas28/ulsojnPg8+drn7WlQ5WTQ/LiS6iEALFhvbmmOzWTsnQf4YgA5L9TOTc3h+Zykfw+3llh7li6UlvakTkoCsqmCWZX9IGgFEmwDSHLZi9vXrlGX15da9Zk+rptkRkDlpATwpgwjYQYghBCUIrvbd9ubr7sMscNM45RT7FH23URgqSsN+17z92ux0tLaJnbTZ5ubuZNJT1p70mT1BYNc9evN9Zs2GD+1NZcOBctPDBCAGkGu4YfdJA0vCCf7m4B1tDAa9uKxwFEembmF5Dd5xsGGGvXGSszNZ8sBy5WC1qSNbQFAKhv5K0qOlIhL5fm3XFdzrXfLwl/Twh+kmlhRomC5LATR7LcwkCQB7pbfqnTX2xKkdxxu7PFetg0wUwm7B/NDVvmcJCr5s+3fDbrasdt/frRgYhIEBE9HsydNctxW1kZ7VteLt1/1FHqceXltN8eb0fwzz7VPvB6eZvt0g0DDMaAxXYeEYHIUuuOLx1BklC6807n4aoKuw32li1sU1s7ioQgXjTTNsbpwN1by41NvH7rVpY0fre/I0sojRttGZ+fpC/jgczWHebWlWu0bn+o2G3E3lYdZH0jazdFKJHcHJp73y259808x3lxVTWrvP6uut9TivM608AjESqh1JZ6RiAoAmYHms90hk4bMEKA2uMkggEiaQ76XpQk/X7uIwRfWbPGWH7brc45hx+uHi1Hi0NVFS2nnmo9t29faZDbTTyU7vGeamp45Vdfa//b23w0TYRNE4yYTj0hSKQ2Ck/TJSeH5I4bpxwWb1BXrzGW+XwiaZxIVcEydqxyaHwaR8VOtq2qiu3KxHy6G1VF9c7rc+6edoR1+r6eSyb541+bnwaAG7v7unYb2q1J8uyEAFHfkJ4BKyqUiubckXf/BWc5f6fIoJT1ksqfnpP/jCzVy7KE/81Ur0aJAnU4MGlqjT/A/UY3NrUFyIgHBtTpaJm8ZhhCN9oRYouuz1eU9KRX3HST8/5TTrGerUaXopQiHTVKHg+wp85SCCEWLdK/3dJOwwxdi2lyRxxCQoC2pV2ULgcNkob3KZd2bygwBmzbNnNzW3t0RUW059Ch8sHxGkzr1pmr2i1Aj4MQpAMHSkPGjFHSVpWdOEEZlMnmIIwB03ShUZLZXd19TbrNSTKF3UYcyTwwIUA0pLGEHNhPGfjk7Pz7TznWfqosgxy733qVSL0evTfvcUKAyBK+lwkjJtHkHpgQIKJLyAPLA6MUqSenZXGtrgst1Rb2FbvYzvx8eqvPL7znnmO7NPZESlxjB4Mi8MEH4bfaK4DWNAjHa3JTClRpQ/42HSQJ6S23OKe7XHuKsiUJpPPOtV3W3Cwa7XbyTiChCemIEfKYnj1pr9jPhgHGipXGj+n0eLRawXbnnc65HclLkmWQM7kDy5hgqX6uBxKp9l7MNC4ncSVTdTAMYaSaQiFJSK+6yH3scdNtxyeOhYjYu1Qqe+TuvEe5AEEp/ruzy0lJAsluI0nKiAQEgsLf3ZtTnTZgigJqjgfz4o+FQiKUjn5VXR2rdTrJXY0NvO6KK+w3OxzoTDRg23ewLcuX60lzreIJBEUg3vujFGhb1f7pgAhYXcV2VVXxiuJiUopR+veXDnpwjuvZqUeqx44erTyxapWx1DCEqaqoPvSg+xiLBXZfu7mZN6xaZfyY3nUR7XbcL8pJGAMWCvNQfBf2XwJ+f3qCfpkiP5fkJ/Nmw5oIp9KRGyAi9+R2kRfdTuK+/krPjU57y+9OzIg9cX/+U4IDpxT/0xkjZrEQqyWJQyAEiGZv9+etddqAuZzE7UooRm1sEvVGknZce8Pn4z6LBR+TZFCumeW4TUoIvPfuRfvMvMh+TW4uebihgde3NU4gwH0tJW0QHBkwAIYhTEnCPy1bbiy66kr7zVOmWGZYrWBDRLTZ0H7iiZbfjB2rHPqvN4MvlpZKf+vdW7JNnKgcEX8z/byZbdi+3dzS2bnsKxgX/NlHCpImeOqG0LdsMzbvr41wnXbiLOsllZMkMjn+fbSEzM+j+cnK3CIGLHWvsNnLvVYLmevzc+8d1+XcleMhOYlGrKSYljwxO+9pxgWTKM7riJAhAIDNglZFSW7AvL7kpXRdSacNmMdDcuOXVQAANdWsMp3+fPFjDRkijyBJSn9sNrRfNNM+y+MmOT160LvbCoTrOmiBuA8fEdDpIm5CkHR2SznqHi/0eMilp5ysnz1zpu3qvn2lQZQiRUQsLials6523Hb4ZPWozVvMjSUle5aPnAu+ZLG+wOcTbe6gJoNzwSoreUWHFFnt6IglDaf7u22h68nLvurqWd0VN9Vetnlb+n0Gu4PDD7FOef7xgheS1TjubcOpK8nLTW7AtDQ8sBihMA9bLeTPhiGMO2/IvSc/j+QnGrHSnlLp3HvyHtMN0CnFTzriiVmtaFWV1jHlA9YDKywixfa4oJ4QQlRVsYp0PbC8PJL/hztc90+bqh6X7CmJiKiqYDnjDOsFDie6ynpLt25L4s3outC93pZGIsdDcjMZzG5q4o2U4l8WLda/vewy+w0nHG85w2YjdkREWQZl9Gh54qhR8vj45N5AQPi//0H/Kl0BxlBIhGbP9t60dJmxKN15HnGEetRDD7qeS/RmO4PJIi30WquPCFZTx6orKs39cof16CNtdck6DUWavnR/UjEhiM/NLchPdl+GwiLUkVKmUJiHLRbyAuPA77sld3ZeLm0R2kFE7Fcu93/0nrzHr9XELELwq3STXa0WtClyEg8MQHh9bac3dRWdNmD9+0kHxRdamyYYFbv49nT+MIWFtOgPd7gePO0063lSXOsnxoQZComQPU6OWZZRPu5Yy2kuJ3EPHChft2GDsTZ+LE0T4cQ6w7w8UkgyrAkWzWlbabeTq3/4Qf961tWO28rLaX9CIjltsUqDGFu2so1rOqDpJQTw2lpevXOnuS3d351xjKU207nYXRWk9bip225De1Mzb0qnR2FnEQDCzFDXqnRQZFByPSQ3mXfc7OPNhtG2wMHeCIe5pir4NwCAB27PneN2EU+iJ3bQAHnw/z2Y/8xlN9ZcAgBplfJYrcSaqKoLsNsD63YD1imZGUlCaeAgaUj8TldYE+FtW83NqY7Ru7dUft+9rqdOP916XvwuCueCf/ed/uUttzZf9vPP5vq4lmVAKdLJk5Xpjzzs/stBB8lD48fTddDrall1/Pn5+aQwk15IPIEAD7z5ZuilK65sPOuTT7T/JpOUBgDwuDFn+HB5jJyhnLR9RaZa1CVy9JHWGR++3vN/bzxf9Obj9+c/cdkF7suOmmI7auQwdWRZqdzb5UyePNlZBAext/4NXYWioJLjoTnJXmv28ubOZLRrutBf/Kf3b3OebHzAHxD+RE24mBF7ek7BMyOHqSPTGdtuQ3uyvErGBPMFun8zpFMemNOJrgH9pcEtmlV4RXNVFU9a2BwPIYgDB0pDH5zjeuTww9Wj4j0vIYT4+We2bu6jvjtXrDCWNDXxxvvudT3Zv7+0W9WBECTjxsmHPTDb9aoljVEAACAASURBVMygQfKsDRvMn0SU66937uIceMywejwkN5q7knYcKRWi3ubyHj3o1XMecD8zY4bllMSlQa9etM9DD7qfe+ZZ/8N2G3l1X+UedRaTCbMrmr56XNQzoJ88cMggZegxU8WxJgNT14Xu9fHmZh/3vvGu/5+yjA+nk4KSCvuqea8io5LjIUkNmNfLmw2jcwmhmi50h538pSCfFl5zsftaq7VlyRIi4sHDlIMfvTfv8UH9lavWb9I3pDKuy0lcyWS4dV1ooQ7EaTtLpzyw4mJa2qsX7RN/rKqKVdTVs70Wc8oyykccoR791JOel6ZMUWdICR2Dq6v5rkce8d65YoWxhDHB58/XP737Hu/vN29mG+I9K0KQTJyoHP7Qg65nhw6Vdj9JKirY9nhZndxcku9yYwtJ567AZkNbaSktS/YaImJJCel9x+3Oh6+/wXF3bk7rxhQHArulYDKMy0lcEgUpIlWNRJFRcdiJo2cPqaSsVCrbss3YnGnjFUe3p4RYLGhxOVtLSQshRLOPezNRU+gP8MDjzzXNfeM9/+vJlv6EIDniEOuUO67LuStVJVV3kjkDRAxmKMQPLAM2YoQ8JjeXtAgUbtpkrttbpnlhIe1x7TWOO558wv3S8OHS6MSAfX09q3n4Yd8dn36mvR/bJYkasc/vuKP5qi1b2MZEIzZ+vDJ57lz38+PGKYcSgrhzJ9sav5Rzu9ETn1DaFTgcxHHZZfYbBw+WRrS1YYCI6HIR96WX2K+bM8f9bHl5S53/AwGJopTJDRGASEigMJ8WtjXulu3m5u8Whb/N5DVjRLX9u92AuZzEnUyuWwgQTc28MVP1i/UNrOG+Rxvu+d+XwY8Td+GFEGLrdnPLh58H56W6yx2JqbX+e2kahA8oD0xRUJ5yhHpMfMoD54KtWmUsTZY1brWidfp0y/F/es7zxrXXOu4oKCBF8UtPIYSoq2M1Dz7ku+Pf74VeT3zaci74dwv0L++8q/maHTvYlkQjNnKEPPaxRz0vjB4tT6yqYrvic8WsVrQPGiQNjTsfMykZLEkonXmm9Xenn2Y9l8aJJzY28vpFi/RvE+NisozKiSdaznziCfeLY8cqh1DaPS28MgHtYLOLvaEqqPQulcqSBbSFEOKbBaGvK6vNykxfFyBmwLq/NMrtJG6rpXVnHy6ANzSxDilRtMXOXebO2x+ov3XVWn1l7HsjhBDLVunLLr6+Zubb//W/qaeY9uR2UXcyc68daEvIXr1on4NHyePjbzq/X/jW/GQuj9+BVFVUR49WJtx/n/vpp570vDRxonK4LKOSaLx2VrBtsx/w3fzOO6FX2soh41yI+fP1zx98yHd7dTWvjDdiQoDQNBFmDFh9Pa+t2MW2x16jFOjBI5XxlugN43Si68YbnffNmGE5JV5rvyMQgjhlinrMrKsdt9ts6Ig9nTRNaC+9HHjuqqsbz/7L84EnfD7uTTC6dPw4ZdK997ieiBds3N+RaOakiWI4HMTZp7ec1BsNhUXo06+Dn6T6BUsXREC5g12bOoPLRdyWJFI6nANvbOqYlM7eWLfBWHv3ww131dSxGs4FX7JcW3zVLbWXL1gY/i4db8/tIu5kbQo1XegdyVXsLB1tt4UXnG+b3jOhY3RVFdu1NSr1LElIhw6RD77zD64LZsywnFJcTEqT5XdxLviqVcbSuXP9d87/Vvu8vW16xgRTFHwvP58U3nqLc47Tia6oKuriu+72XrtihbGYEKBr15orJ05QDo+V/AwfLo0uLKA9AGArIpBDJiqHn3uO7ZIlS/TvzzjD9saiRfr8qiq2q61Ezbb+DqNGyRPu/IPzkR499iSMci74l19qH778cvDZmhpWbbOROT4vb756luM2jxtzACIGt7KKV7zxRvDvlZX8QNDHB4CIHlSmi4h69ZR6lfZM3n18R4W5Y9kqfVlmr7gHRMRkmeVdTa6H5iQTGeBc8IYm1pjp63EhhKLg/555ofn/jj/KfsKN99Rdv2R5eEk6YxCC+MqzhUl3g0MhHkznu5MpOmTAcnNJwcmnWH+bGHxftdpcWlfPawAiy6TfnGW98LxzbZcla44qhBCaBuF5H4bfeeop3+zNm1vGtvaGrgvdZiN/LyykxVdcbr9x40Zz7R/+4J21fIUe+0DMU0+1fn/O2bZLYrWIpaVSWVThYqvgwHUddLeb5EybZjlu0iR12q5KtmPZMmNhaQm9Y2fFHu+tLQhBHD9emTR7tuuPAwZIQ+IVJ1avMZc99LD3jpqaSDOMYJAHVRWfDoVE8MYbnffm5JC8qipWcdddzdd89pn2wb7qLt4RomkgGTVh40erE5KlFAghxJLl2qLK6q5Njm1Lk6srKYo8TFvBGLCu8MAAAHRdGC4n+eMb7/lf37bD3Jru78syyHZ7JGE78TWfX/g6Wp7UGdI2YIQg/uZM6/Ejhstj4o8bhjC+/FL7OPZlDIV4qKCAPuB0oOvkk62/jTdikWx9XvHXFwJP/fO14F+9vvRLEIJBHvR4yGMuF3o+/VT778qEIunly43FuyrZzr59IvI3FgtYjznGcorViu/LMrbIvlZVVPuUS/0JASKloN4qSUinTlWPuetO56P949JIhBBi2za2+f77vDdu3Gi2aNapaUJTVfwrpUCvvNJx8xNP+u774gvto32xhR8PIZEmtaksIwhBfP7xgox+2e02YvvHn4qOTiY6yTnwL74NfdHVBt5mTa6K2pX0KExuwExTmB4X8fQrT76k7iwFeZFwX5/eUp9+5emlJA7oq9jyclpm98cQQojepXLvfn3kUCSTGwilQChFSZZAkuWIFr7dhvZNW8xNm7boGRH1TNuAFReT0nPO2ePZRCYPYudOtvXHH1s2X62tZdU9i+kdTidxHXWUeiIhSA1DGD/+qC94+v/8Dy5YoH/ZkZrJGE1NvNHhILdqmggnZv5XVrIdCxfq3/Qpp/1jy8hDD1WmDBkij9y40VybrN6yqZE3tFcOoaqonnyy9cxbb3E+UFJCescbr6pqvuvhR3x3LFykz0/2u5omNJuNvPDzZrZh2TJ94W/Pss0sKaVl117r9IdCImjoQp8wUZkUX4IkSagcdbR60vnn2wen+/c5YkqkxXvsZ0qBHn64Ov13v7PnyRLIFgtab7nZ6dqw0fhJkvCN9gwFJRFlj0zWVg4ZpAwdP1qdmGzMugZWuyyJLrzTQRxlveTyrduNLf5A5/Pp4nt2dhdFhVJSA+awE8dj9+U/qen7n2wRIUCKC2nPZK+NH22Z8M6LPd4DAQKiXdsJAqEUCaUgRZt6yLIMyu2z629FxGdSXXHtjbQMmCyjdM01jpkjRshjEoPw87/VPt+1q/XSa1clqxg2TL6vb19pUFER6fnmm6EX//pC4OmdO9m2TLwBvz950Ws4LLSpUy3vHH+c5YxYsXl+Pim6+GL7tY895rvH4Wid2V1VxXeGw20nu+bkkNwrr3Bceckl9utycjAv3ng1Nor6xx/z3fPxR+G9ai5FGyJ8ZLcT+/Sj1BOnTVWPiyVTCgGCkEg7qtj5qgrqJRfbr+1Ih22MtnWP/SxJIP3mN9aZZ55pvTCaPkAQAd98K/TyBx+E3wLYe5Y9pUiT7Zx1FFlC6aG78s4uyKMFia8JIcSadfqarTuMVvWuo0eoY56bW/Dn5au1ZSccZf/n/IXh+c1e1uEyFmcbEsldhSyj9M6LPZJ6MpQi7VUidWnKT1fgsBOHw55aE2RKkWbqCZiWATtkojLl/PNsVyQGPRsbef1//hN+o61Ew7VrzZWPP+G7l3Pgn30W/qA9UcJMsWiRPv/b77TPj51hORURkRAkx86wnNarlJYn7vwJIcT27S3zx2JQimTYMHnUo4+675g21XKcGtfERAghmppE4yNzfXe+/U7o1XR3y6J1k9hW93BExEyVQUXH6vCOW0RbLXPLrTEHq2N/c7LjN8m8L8ME48PPgvO8vpblKYQg3n9r7tH9+8oDBvaTBx033X7C4uXhRTPPcf3zs6+Cn+yqZruSPUACQRHYsMlYb0ligLu7KsJqQasnoUYxS8dI+Wbu00fq/8c/eh4oLCQtXF8hhPhmvv7pypVGmzsajAmOiG9lwuNKB7+f+8eNUx4fdbAyvkcPUhJRtEB1zBjlkMRzDQOMnzeb6xNv/rw8mj9zpu3cSy62X9urF+2T6Hk2NYvGuY/67nzjjeDfO7McPhBgDNhHnwXmbdpstJL1bmxmjY3NLGU9qKICqfAvjxfcUVxEeyZLjNy02dg479Pg+08lHC/Mp4XHTLXNIAgEEdHpQOfUSbZpkyZYJ6/fqK97d17gnWGD1Xc3btY3xHd8X7I8vPiEcyuPTXatYEgEH0y8UBditRCb2027vDLk10BKBowQxFNPsUwo601bBRYbG0X9W2+FXg60E4vobuMVY9kyY9Ff/uJ//KabnPdHVC2S76CFQiKwaaPZQtlCUVC+9BL7Rdde6/hDokqsEELU1/PaJ5/y398R48W54JWVbOe6dcZq0wTDMISu6aCZhjAMUxg82qC3I0vHvYEYaTMXi4FZrWivrua7UrlOWOOaRPFPyf6G0W7UKQXbnQ7iuP33OddPP8J2VDIvRNeF/vq7vn9u3W5sTXzt8EMsRxw0QB6c+HuKjMqwwcrwwQOVIRec5bzwf18EP5o6yfbOkhXhJV4f90aNWXUq8+tqCAHcucvccaD1BrVZ0da3TO5DE3IBORe8opLtbGxmjQDRbtwEozEwIBJFSZJBVmRULCqqhikMniF7kJIB41wIqxXfNQzQb7zJeV//fvQgREQhhPjyy/BHixfrCzIxma7ANIXpdJK/FRXRnhdeaL/aYoGkQeiqKrZr+w7WIt6i68Lo0YP+o1cvWn7WWbaZiiLU2PuureXVjz3mu/utt0OvaFr6KqSaBuFHH/XfJUkgG4bQI41II3EwgMwbrngQAREAkQBRVVRNU5ipGuDObpXbbcR27aXuay+/0H2lRW29nBNCiCUrtCWvveP/R2KDCI+Luv/x58ILLSpJGoeLLZH79Jb7XHaB64ozTnScuWBxeMGZJzv++fV3oS/r6nldpr44naGmjtVeOKv6/GR5kfszE8eqh7z0x6JXnQldyDRdaLMfb7hv3mfBeQh7Yq802p1bklBWZJAVBVWrhVi3Vxjbn8vQnFJeQoZCIkQIvl2xi+24/37X0wePlMdVV/PKl14OPpfYzGJ/w+fjPpeLzPEHhO/ii+zXRgLw0MKbWrbcWFhby1o9oauq2C6Xi9weDovQBRfYr1RVsFRU8O2zH/De/PHH4fc6umyM7prWtnviL4jCfKngnptzb7nsAtcVbQV8a+tZ7UNPNT6wc5fZqtfm+NHqhDEjLWNTuRYhSPLzaMGJx9hPmn6E9ajVa/VV784LvHPQAOX9n7cam7qwMLxdolpyafd93Neccqwd1SR6+KGwCK3doP9UXWN2u4ebVkA3+qX7YdQoZdbcR9zPf/Gl9tHeYl/7E14vb1YUfGTVKmPpxRfZrx05Uh7rcKALEXDHDrblrTdDL7flSXm9vNntJrNlBZXx45RJc+Z4b/1mvv5Zprse/1KxWIhl4hh14ov/V3jr1MnWaW1pooVCPPTEn5of++yb4KfJBDEXL9cWXX1r7RVnneI4+7DxlkkF+bSgvRZviIA2K7GNH22ZMGakOvaKC11Xffhp8IPDxlvfWLFGW5GudPOvFUIQr7vc3S9Zvl59A6urqdu7Ak1XgR3xqAlBMmqUPL6yku3ctYsdMGUwMXJyItr7gwZJw2UZ5cWL9e9WrjSWtBfDycujBTk5mLt5M9uQrhTvrxGrhViGHqQMO/9M5wWnHm8/vUcR7UEw+bIprPHwi//0/e3Oh+rvaE9b3WEn9hFDlJGnHO847YSjbCf06S33lSSQUt3V41zw2npW+/WC8Fdv/sf/xvzvQ980NvPG7GfaNqqKyt+fLnz5rFOcv0187esFoa9On1l1SlNzx1NZOkraBowglQQIDrCnqr1TE4jedAhIBYAQgqcdY0EkxGktHCFRaw4XpqYZvoqQ1tRCgpkglfJc/WZYFFcvzs1QTfP6/xpmqEtKNn7NEIKYl0Pyxoy0jD31ePtpxxxpm1FcRHvGq3TEI4QQmi60V9/0v3zP3Ia7a2rNlJ/kioxynzK578nH2k85/QT7GUMPUoepCqipGjIhhPD5hXfR0vCi197x/eOzr0OfVNey6qwha82g/sqg//6j+IN+5XL/+ONCCPH8q96/XH9n3bW63v278GktISWq2AeUTL3HpuYNEoLpXDB9ePmpHQ/qIuDw8tMkQqiCSOWaxp/eAYCX0x4GidQrf+yVPXKH/VYIzrbXLHoakcwWgvO4c+TS/DGXFXoGnhjSm7c3BXZ8BwBZA5YBVAWV/DxaMGSgMuTBP+ROn3KY9ciB/ZVBiT0Kk9Hs483P/c37zFPPNz3R0JheEXM05249ITj31Td9r0w/3Dr93DOd508YbZnoiOuj0BaIiC4nuqcdbps+aYJl0pr1+pq3/ht4s38f+d2t282t+6K2b3/EbiO2O2/MuaisVCpPfM1kYC5bqf24L4wXQJoGDJFIbnvJxBxH2eRMT0QIwf3B6pUd+2XOmDDDElVdAABcMD3mIcafxIURAgBg3Ahwbu53pRoHAqqKitVCrHk5JL+sl1x28DBl1It/LBo3fLAyonep1NtmRVsqHhDngm/cbGx48KnGB955P/B2WOMd7icZ9ZgqAeBVt4v8Z/JE6xEXnOX83RGHWI/IzSF57RsyQIuFWMeMtIw9eJg66uJznZe8+0HgnYOHqW+u22is7czcDkQojSji2m1o71Mm973/1tyzZ57juihZnXBjE2/sSrWQ9kgziM/02uaNH/hCNSs5Z5oQzIhfTsZjVXL6FHkGn45IpAbfli+bgxULW54RWTkiEIkQKhOkqjdYmVbX6hgCBGfcCEB0RWuycHPi0jaSm8BNAADBmc6j/50lAiGI+bk032JBq0SByjLKqoIWux3teTk0v6iAFpX2lEqfm1tQ1qe33KekWCopyKOFNivaKAWa7rJt3qeBD578c9PjK9boKzKlPgoQafIKAO+7nOSrCWMsE887w3nB0VNsR+flkvxU0hYoRdq/jzLgxqvlm397quPsjz4PfnjoeOtry1dpy4L7QDK5KyAEcdhgZXhZqVQuUaSyDLJFJRa7HR1uF3E/fFdeXnER7dmnt9ynvJdUnpdH82mS2mEAgHUb9bU/bzUyUpjdEdIyYIwbIYL0CQBAAMH3NHdobcDyXP2OLnAPPJEi0jrvzx9tq/n+idYjIlIi24XgpgBuCtGxG1kIIfoVH6FFbJbgJteSBYGFEJElgQDOALLLg3gIAXLxuc5Lf3uq82w5lnRoQatFRYssoyxFk187mrskhBCGCcbSldqPz/29+ZkPPwvO68qgb7QE6VO7nSwYP8oyfuY5zouPnmI7Ji9Fj0yiKJX1kssvu8B1xSnH2k/9+Mvgx4cfYn3p+8XhBYn5aQcifcvkvs88nP8nl4M4EYEgifQioBRorMqhvTEYE+zjz4MfdkRNJlOkXRfHBTMRCc1x9J4c9a4+TxbIz3f1izNGkW5BiecQQqU+RYfdhoi4s27pCyG9qVXhbqoIwfXIhbjJuNFGX8GogRSCiyRG99eMaQo29mDLJ1dc6L6ypFhKKi7YUTRNaGvW62tefdP30jsf+N/eVdU18tDJiFaIfGmzkYVjR6pjZ57juvjYabbjUjFkAJEd9x5FUvE5pznPqalj1YuWaYsAWkumH0hwLoTdRj75ekH4q9+cbD+rIzWZQgixdoP+0zsf+N/el5se6euBIZGKc4efM6DnkbMZN7XVW9+7AAB+6MjFXdbi0SX5o2Yqkq3Abe916Opt710AAO2KCSYnuisKgnHOflUxi0yxco224t15/neumume1dauYaoIIYTXx5t/XKH9+Ma//a9//EXwo6oaVrmvbvZgpFnuNxaVLJw4Vj3k0vNdl08/wnZUW81l4+Fc8A8+Cbz/9PPNT4XD/BcROw0EeXDKYda/HH2k9Zgcd/L+lG0hhBC7qljF/Y813rtlu9lhpyMTdECZAEGVHUWyZMtXUbIOKJk6x6bmXBLUGtN6IxJV7IN7HXelItl7CBCmL1S1XDcCHU6Gi30rhBBcCNbt0ra/BHRDGIeMs/zrzJMcZ/VoQ6+qLaI+tgiGRHDrDnPr/O9DX3/4WXDewqXhH5qaedP+kpoQDch/5XSQJZMmWCdffK7zkqmTbdOdjuQ7pkIIsfInfeU9cxvu3heZ5l3JslX60qUrtR+nTrJOS8ULE0II3QB9xRptxdw/Nj0079PAvH39uXZoCSlL1hfsloKhPXOHn+dx9J7cp+iw2yRqudlk4ZTWwoiIBe5BRxW4B54EAOALVq3YUbv4WcaNDj/dCBIK0dgcF+wXrQrRlaxZp69eslxbdPxR9MS93dSxkADjwBqbeOOWbcbmxcu0RV9+G/pi2WptWVW1WantA430VPFFdOQ+8rjpgmOOtM244kLXVeNGqeNVBXfnkUXURnjTQ081PrB+o7GunSEPOJq9zHvPzbnfTTnUemSsCXSM3d2LAISuCb2mjlWvWa+v+fiL4EfzPgm+v73C3L6vjRdABzXxDTPUaFNzZzstBcOctuLRPXKHn+MP165BJM+mkohqVTxlfYoOvVmiFo/Jwo1bq797JKg1dGonA5HIABEPjGc9sN0gIkpEdTFuBFMx7H6/8H8xP/T5MUfajpVliOuWHnGyAkHhb2hkjdsrzO0/rddXL1qqLVy9Tl+9bYextamZNx1ouVPRjYR/FRZIX540w3bypee5LhsxVB0pSygzDuz1d/2vffhZcN7+UATeFaxep682GZiIAsOaCAeDItDk5U1V1WbVtp3mttXr9FVr1umrN20xNu6qMnf5Azzw7L6edBwdFrcLag0/F3oG3T+s7OSXJGrxlBcdeos3VLUMAJLKKcegVLEN7DntBpe9ZDyAYLvqV7xS27zxg85k9CMiDug5zYKIKICzbI5XtNsOteWX5Iw8sdgz7JzNNd89CABftPd7XAgxcYxl0c5KcychQOrqWW1lNavcuNnYuOFnfd2mLeambTuMbXUNrNYfEP794SmcCWpqzRpEfOHjz4MfnneG84ILz3ZdpOtC+/NLzc+FfiFxr2Ss/ElfMfuxhvtq6lhNVQ2rrKw2K2vrWa3Xx5sPhM+3U/3w6r2bP61qXPOv0vzRl6qys2efokm3y5J1tWGGkmZUIxLSM2/kWcW5I85DQNocrFi4rXbhU51ZOgIAIBAaS2IVgptcmG3sQv7yoURSLbKrV2nu6GnFnqFnu209xxKUrAGtfh0i+ToVD3nVOn3Vby+tPtPn576mZtbo9QufaQjjQPOu0iX6EK2QJJz74WfBD4oKafHGJOKNvyQ2/qxvJAQf3t8NVVt0yoAxboSctqI/5Tr7TLMorpKw3rhld6pCElTZ2bNX/tgrJap6DDNYu7ly/pzEmsWOgEhkWbLlAwBwwcKMG7+IhMNUUSRbnlVxlzstRSOGlBw32W0rOcSqeMoJ0t36ZbmO8iMtsrMnALSSqUkkmnrQoaTiXwLRov5V0X9+8RyoxgugkwYMACAQqvtpe+2iPxKk0s66pS+YTPO1da5uBmo2V319f3nRYbfWeTd9XO/b/Elnrw8AQIhkscjOEgAAwwzWM6b/aiRSEAktL5h4UZ+CiTdJ1JKDQFqpMiAi2hRPP4+t9DAAeGMfTTVLlozTaQPGBTMJoX+OpC/sfXnCuakDwAeq7FjCuOGP/txpFMleoMqOYiGE0Ax/pcn1No3oLw0hOMt1lP0AgJQgbbP5ByGSWugedDIl0r8ZN7N5cll+EaRkwJzWwmE5zvIjI/WPXBfAW9Q/9sgZCgAAPfNG7P6dXGefYYhEAkB02YrH9MwbcX7stTxX34TzERAAAYlEkMoEqdIU2PlDc6BicSrzs6k5/WTJXgAAEAjX/pQpw3ig4A1VLfeGKpfkO/sds7fzPLaSiVbF0wcAfnEpAVl+naRkwFy2nmMGlkx/GIFIEbn29vXaEZDEUhuKcoacWegZfFr7vwMIgChA8E27vrwTANo1YIiI/YunHEqJZAUQzBusbNUI9ZeOyTRf7/xx7+c5+kzHSD5cUlTJ2dNj7zUJEdfvqyYrWbJkkpQMmMk1XyBcvwFAMCFiRdd7/wJI1OKxW/IGASDRdF+FZvh27eV0jCgbIkUkEgKhJgun1KJLotacHGf5kQBIdNNf6QvVdEyS5wCnwb/1C830V1pkV5t1jIhEznf0O6aqac3rANCtvRCzZOkKUjJgdc2bPmry7/hWCM7i5HP2asByHX2mDis/5VVKZMvO+qUv7Khd/Mzer4LRhiZIEQlhXE/pC+a29xzvtPYYAQDgDVYtD+ud39U8EAnpTVuag7sWqy5nSVsZ9IiIblvxOKvsKQeANd07w32HKjt6SER1CsEMLrghBNMFcCYAeCR3InpPi0i+LkTVl6KrDYA9qiv76i1kiIS9nT3/ijSqQiAQaQxP4hwKmSBVCFLF5LpPM/z7VTlVSgYsmpaQVmpCvqufHyI3AXBuhgwznHHpFEoV27Cyk2ZSIjuE4Hq99+ePTZaa4fulwbgR7p0/9rMC14ATENoO5quSo8htK5kAvyID1jt/3Kxiz7BzIquH2D9M5xGDpsf+WwhuCOCRVQYIM7IpJaKt7oRINXyyvxLppgdR4wSIQCIrHiQUASWMxp+jCslqzHAhEhmBSJVNq18DgLv39fuIp9O7kPsKRMQiz5Dj81yRwHVQq99Y6930UWfHlSWLO6LJ03Y6yP5KU6DiB8MM1amyo7itcxCpmmPvNZkQ6R+/ls0OmVpyrLK7vCOyMVkiCCGETC1pqVZ0BwdUY814nNYeI/sWT75TIqqLC6ZV1C9/MZSmIkYyPPbekwaVHv2E01o4lBBJycRcu4uQ3rjZr9WtmBZaQwAAIABJREFU3ds5iIgua/EYhVrzu2teWbJ0FQekAbNb8gYOLDnqMYelcBgAQINvyxeVDSv/kXJHo6gLnewlq+IuK8k7eOaofmd/0L/4iPsoUWwZnHqXYnLd2xzc+X17yrYWxdXLquT07a55ZcnSVXTlErJL3HW7JW/AoNIZT+U6y6YAAoa0pi2bq+bP1lLQEovFLySiuiVqcQNAi98hhCqDex13MCKhFsXVC5BQIZiOiIh7SRLdX0Ak4A1WLePCCFFU7G2dR4nicFgKhhAiLerO+aWHACG4kU33yLI3utCAxeINiAAd01FvORqiw1o0YnCv4x/PdZZNAUBiMs27uWr+A82Biva/iEIIxvWAEEJYFHevssJDbsh1lv+Lcd0PAAKRyCV5o0bmu/ofCwCgm8G62qYN/+WCmXY1t39Z/oTrCZGsnX0fXY0i2fIAyF7/3ghIS3NHXea29ZzYXfNKF8YN/7a6hU8CwD5V/Myyf9NlBgwRSWyZhm10Y04VQqhS4B54dP/iKQ84rEXDEZGYTA9sq/7h8aqGVa/H939sCy6YUZo/epkQTCdEUkvzR13aI3fo2bFORRhpMGJDpKoQQjT4tn7hC1UtB4jktPXwDD1Lkax5nXkf+wvRdIoxblvxmH09l7YIG75dFQ3L/rav55Fl/6YLDRihgLEck7azw1PBaS0a3r/4yAcc1sIRiIiM6YHttYue3lbzw5MsDe2v2ub17+c6y48scA88gRDZLhHFkXCK4NwI+sI1q7bV/PCkyTQ/AADnZlhkVV67Fc7NULRVXqcJao0/Nwa2fcUFN7hgOudmiAsjzAXTOGcaF0znwtQiS9ZIhyweTbeIpFEIDnvywjKypHWo+QeV5o26fG/1q9XN6//d4N/yeabW0NFKl1jHIRKXRiFF871kgpKFEKoSlFSCkoUSyUaJbEWkSlBv/DlDU8kYXWnAFIwuHQmhamfG8oVqVm3Y9dlt/Yun3Ge35A/eXrv4ma3V382NGZhU0YxAjSxZr9nVsPIfVsVThkhb7jIKbmqGr7I5WPmjZnh3xg5zYYaF4FkD1o1wYWpMZEaYckf9j8/tbFj6vBDCFMAZiD3tAFtnqCaPuWU6Fpfv7Hd0ae7BlwBCmwasKbjj++31P/4plRVGOiRPJ2lxrGWSKyJBJFKsLeH+RNfFwITguhmoRaQS50xHJKSjHwTnpo6I/9N0X4XbXjKhqnHNvzqapxUVW/w4resLpnHINsLtTrhgushQd6nOCmbuQ0R7JXsdGjS5MW7vOvulgkmnDRixKHYgVOLBUItM+wb/tq+X7Xj7TGJRXeHm+g0x44WSJCulhUNpnqd3ePWmT7mmp5ThH/2j7xOROS6Ynl1Cdi9cMI1nvd4s7dC54LrN6vacOu2e/MtOf1HtUzIm3jUVTtminnPYtbarZswRxY6C2HHqsOblnDXjkfzLznjRevCgEzpz/e5CCMG4yPaa7E4i3lfHOrVn+fXQYQ+Muh2FOWdMv9MxZdzF3BuoVXr1GK5vr1wOAAwAgAfDzcSiOpTexSPVAWWHIsEfBReCef3Vvq8W/9Vtt+ZIue5e1O0oIDZrjuRxFqNVdYVXb/qU6y1dfrkwtw/NcZUIxg3gnIEQPBq+SN+9RiSASIAQigQlo6LmJxZIruG/B87ba5bLuBH0h+vWiqyhSwW0KO7eMRXdZHDB9Gz39CztkbYBQ0KIXFI4JO+Ck+62jR58klnXuK3htQ+vD63e+KlgezLhhW6E/N8ufcUypO9Ux6Ejz9E2bf9eLe9pWkceVEJzXCVGRc1P6qDySfYJw88kTnsBsVtzjJ3Vq7UN274DgBYGzH7Ywee5j518oxCC7zFg0LENIUSMGTAwTb32mTfOAoCv9/YrQgBvbwkZ0pu2rtrx3nnhvcsGZYHIDnW/wsl3lxdMuK6tc0Qk5pg1YFn2SloGjKiKzX7oyNPdxx9+s1xcMAgokcNrt3wV/unnL4jDlqv06lFAHbZ84rIXuGYcVqr07jESAIRSXjKm8Lrz/g0AAJxzwbjBg6Em5g3U6JW169iqTZ+YtQ1bjMradTyktWqOK0K6z2xs3gmMM8G4EfXAWi0v0KI45B4FgwABzar6jTyURAEj6oEhJbLgggkzFXllwduLxwgQ3OS6z2St55+lJYiEtLckT0VzLkuWlAwYEkLkngWDc3930o32sUNPMxu9Ff6vl/zNPmn07wTnJkhU8Zwy9R77uKGnAhIqGDO4P1jPmnyVgUWr3lZ6FY9QyopHaZu2L2j69xezzar6DTys+YSuB4VuhoUQAiUqo0QVwVir3T7f10v+5v9hxevAo4arjeWj0rd0fOGss/8FBGnj25/cGf5pc7I+iLjbC0MkPNje8jFS1CKyu5DdTNZ4ZWmflAwYcdjyPGccNdsyuO+U4NK1//V+9O3jxOUosh928PkAgEI3Q8FFq9/i/mC9UVGzxqiq28CafFU8GG4UJtOV0qJhuecd/5TSt3ScY9Ko85vnfTOXNzTtiF9yyj0LB7tPPOI217QJ3/i/W/YqD+/R9eKhsA8A2k2bsAws80WMGwoR1n3MH2zXOKWISObxZelK8P/Z++74uIpz7fedOXV70a56tdzkbmxsY7ABY5sOoZeQ8IUUILnpCYT0BqQnN1xCctMvJCEQeu9gminGuNuyZVnF6tLuatspM/P9sbuybEtWseQCen78kKVzzpw5e/a8Z+ad530eAuNUTzuBDw6GFcB4PNkVe/LVXyTeeP+fqY21T/NkOqbPnrIq41tPJQAB6W27X05v2/2y4AdzvRBxQ9dfHrred8mqHzkWzLxIKS+aF3/l3T/L4cCDdle0EYTgzhNnTnfMn34B9boL4m+8/4+xv9TDAsLEw3REgYh04iOfwFAYVgDLBqXX+v8NZUkDQERZ1gERBWeDjlCyHK7t1O283n3qgk+6Tl34Kf+lq37sPnXhp9Lb69ewaG+bY/7081GWtfS2updF+tiyRcsI9pPjVvzxeES2xOa4lHuawJHDqB5KpFSS84M7uv/+yOfsnlgzSpJKNHU4cjPp2PNrf5faWveic9Hsyx1zp53rOmX+tYAAwmamUVv/WuKNDf8UnB9b+Q9ESoikHe1ufJhAUNIQJhRUJ3BojCqAaVMrTnGvWvI5pNlC1JVLPjfiRghSnjZ6WTzZ2fvC2rushtYNxu6md+yuaNPQBx9ZIBCJksH1tSYw9iCEqhOj3gkMhVF9QYjbEdRnTzlTJNOx1OadzwrGbZSoAixjuYaypOkzq1cSXfOkNu18jsUyTiZEVVyCMVPYzERKZbWiaD4AQPKtTfebTW1bhjovkuwbeb/S20FXqw6wYOn3NsesVcMwQUmmKn+4+0/g8IEZQ4nDEgGYwAcfowpgwmYmCCGs1s4d3Xc//iV1SvlS54kzL40+9eqvrOb2LdTtDMlf/tjDcn5wcuyJV36W3rHnNaIqTv9lq28DgiT62Cs/5clUT/iL1zwshQNVwIde4UOJyq5lCz4mBbylwrJTgjEbuGCe1Uv7jnWeOKsSZElFRNRPqLnAs3rp1Nw29+qTEAmhSKmCsqSqk0qfMHY1Dsv5WyKKh6J8zIsZfpBAUFInpu0TGAqjG6L3MeFBCMYsOT9Y7Txx1qXW3o6tkT0t71OPy8pxtQTjNjBuazOrVzqXzL4i+f6OJ3nKiAmbWwCCI8l40A11SqREci6ZfYU+o/qM4XTRs2LRDYN232aW3R1thmE4fwNkBA0pkSdGYEcQFCWN4sRnPoFDY3RJfEIkQECUqEI9rrCxq/Gt9Pb6V4TNTCngLaZelx8plQGBUJczSP2eIhAgUht3Pht/+Z0/ISUScboLkUoqECqhPPRUQXDBreb2LUipIizbEJxbfcTWLIhTD6iTShcBIhq7m97msURH/24DIRQlIgOlUm5aOxzIVA+QUU4hCVIJEAkIwTO1fYJ/kHXec5aDOfG8zD8FcM72s3AzrN7maLLl3cHasVm6R0wUc09gCIwugMmSCgKEXBSuCf/Xlf8WAoCossN10pyrnItnX4GUSFJ+sBplSfNfsfonPG3GAQBQoor/irN+CkIIJEilUKBSMG6jOnSCXFi2QTT1FkBAEBkX5QP3UatLF4W/8NEHgCCNPvry7elNO587uPOAgIQMr4QoA012F49GVZYglYoDc6/z6oULmLCSjNtJzq1UVXhpVgWUGRm3aGblxPb6qYAKABiWC/o4AnOidtnQhAhIAQnNqHmihEgogYz5KUGqVIWXKgSpmlH2lHWKkmbYvS0SVX+e03ATgnOJKn9ujWy+d7ATCwBus3TkiF3pBI5LjCqAGXVN73T95aHrgeCADzXRVbfnzJO/TL3ugsRbm+63Wjt3DNoYY5bd3l03nPPytHFIiWFtSrmRed4RwLLT3DCTiIhySf4MFkt0sGjvqGzRKVFcKTNSf6h9DKu36SBbN0Tid5YsLfLPvubA/TMBSvBMRbrguT8MELCOshk09v1v3x+yI6w+yXAk/dQ7D0oHRJMt7+zpfOcO6FdNkXVQ/1C6qE9g7DByNQpZUoimRlLvb38CxMBredTtyHMtW/AJ6nIEje31r6Z3Nr4xYFvY9xAAUkL7lxaNFeSS/JrQ9Zf+H4slOrSpFT8wdja8MdLzNHW/978tkc3/PNQ+Arhl2snO4baZnWrRvqd9gvE0gQmMGCMOYNrUymX+S1f+GEQmgT9gjSClspwfnIyKrPsvP/M2nkoPrNCASFCiCk+ke7r+9vCNADCskdhIoJQWzKZ+b7FcVjg7VJA3OfrEmp8RXfu/bH3lsGCxdBQADla2mMAEJnBUMeIAxlPpqNnYugG4YIIxG4RgB+ajUJF1ORyoQokqVltnLesZRCOLIEVKFW6aCWENPyc1EiTf2fygsJnpPX/5LUpZ4Rz/5atvV0ryZ8nhwE/tjp76D3JCfQIT+KBjRAEMCSGAsK7rry037i9rs38MIG5XSCkvnCfLeWrsmTd+a+yof3WQFrPSNkCAcxsJIQMVgx8OuGmlEfEBq7lts/e8U29xnDjzEtepCz8pl+TP6P7nE18FgGPYnXoCE5jAoTCiAOZZfdLnlcrihcKyU8AG18dCWdKkPF85KpLuPevkr7CT5l49aKMICIRIKEkKi8T2El39EU+NznFoMGRHWduIQ/uc2dS60XvOsq8TtyMPyUSpygQmcDxjZCMwWdJRkTVAROCHToSnNtY+k8lMC0BVHpwmgYhIqQwSVVCRncMhtY4WPJmOoST92u7o2c1TRq+xs/HN8TpXDozbKYulI0IwkwtuZWgTfQaqTAhuZ/z2BBcgWJYvxrNht9+q5NBTXUQiu7X8ORJV3QNtF0KIpNmzs7/n5VBNZlYXMxQK6FuBRJpxW0eCSAhChk6BSCSE/kapREakMuNmckKgcALjgREFsOiTr/4CESkNekukgK/MbGrdyFNGFITICM44NB/qmod1Rxv3TQURUKYq9boLRKZ4uzv3d+LQfNrk0sXE4won3978gDDMRH9DD6RUkoLe0oxcD2eZkqOBOWAAAGplcSi7wo/E7ciTAt6DTCOoxwnGzsa1gIA04CmRwwEquOCsJ9YkGBvTVVAhmFXfufaXzT3v/6V/ABMi6/wM3BZC2CA4E5ANXH0BrG9qPuwHX6a6f17FZY949IJ5g+3T1LXuD43d7/5uFJeTC14IiCRLnaCISPpzwgYIYBLntmkzY2IRZAJjjhEFMGHZJnU7g74LTvuWPmvK6thzb94ZfezlnwjLNiSfuyBw7QV3Uqfu7/j9/R+3O3saADI+kJ4zFt/oPHnex1Mbap/qufepm3MJe31m9czAxy/4H5SoypPpWHLtxn/3Px/1OEN5N1x+D/W68jOF4pwNRmIFAEBFdqCmuAAA/JeuujVHoB0QiIiIBCiR7Y6e3R2/+/fVANA+ks9jKOR00MayzUNBkXRVDKEcywUzshysDz0UyRFQJVdhllRs5kbFIETuhcKy2vzZEXH2Z+alsu8FM4qxZdBdOeSzl3kxUJkgHd3oNUNQynH1EABIlr5DMi8bpNmfEiKRCEoaAIiUGannx4kP6shMPXTV7btwxc2OhTMvMXbsWZN47b3/ywUjFk91895kp2PO1LMc86adhwTvFFwIYduWY+60DR6XM+g6Zf7H0lt2PY+IjwshhFHb8EZq/bbHXcsXfMJ3wWnftJraNgLAPlUKREJ01U1dekDw7KhkCDcinrVIQ1Vx0kMy/BEAgQAiIb2JDsQJ8bwPG/LcVWdOKVzxEwSkQgh7XyDLTfOZJSA73ReCZab8fdP9TBDrIyCPDIrkDCOSQ2roFflnXeNzFC8ZLZMZAQlgLnhlg1V2mk+QyBnJIqoQlNRM9QSVE0bXjvcbHrgCAFpHc84jjWEHMCSEuFcuvtZ9+omfthpbN3T/44mvWu3du3PbhW2b2pTyv+pzp56jTilfGn913d8AIA4AkN5a92LirY33uU6ae7U+c/Lq9OZdzwNAihtmUi4M/VKdVLpIKsib4lw06zKk5Ic5oimPJzu7/vzQ9UCQCNs2gQsGXDAYC+oDYmbxQM7IAA3tDTmBDxoISqpCHSFCpGNStselhWa4tNCMI3lO0050ZNIDxweGPwITQqS37n6p94W3/pB8Z/MDVlPb5gN3Mfe0rO/684Ofttu7dwnTSuX+zg0zJRfk/Sq1fvsTxu6mt0W/PJfd1lUbffTl26nPXZB4Z/OD/Vny3LQMOEDKegITmMAEchh2AMvmczaiRG/JChceNArihpkEgMcHOt5q7dwJADsPapdzjpTcl/H9GVsO2GhAKRLdSdypBI8zJsa8tGkCE5jA2GHEPCiHAxzegBLKL1EsZgubM2BCiMMSsff6MyNWX97+3UFEJBQopShJMspGiqe62qxROV8jySydMXboJHdeoVz62R8W3hntYh1nXhl47fWnYv+J9djdoznnBCYwgfHFiAPYvJNdK6/9Wv5thADhXDDOgYtRrcMMjaz9LCEEKaVA1z7f+yil+IWhgtCB8OdJ4bOu8H+Ec+CSjH+xLTEoCbewTJk0Y6HjFM1BXHlFUulbz/c+evhXMoEJTGA8MOIApqioBcJSoSSjkv1TX/Daj7WEAJSCRAgSzgRjDPabjmVHVpRzwTkDW/Q77gAma99isNNDfXDQ5kMDCeJHrgt+9KNfDH8/1mN3121NrYdBlFgREc+/NjBT04nTSInks/dH/trTYY9KgmcCE5jA+GPEAWz7+tTaO7/T8llmC8u2hcWZsBkDJrjgQmRYWkKAoBTolZ8Pf2fKbH3h2ud7H3363p4/cp4JYohATr/Q99Hl53uvrN+W3nDPbzq+b1vCgBxTMjPqIoQApRJKlKIkKah0NFsNXEDf6CtcrJT58qR8y+QGs4UleGYbEqSSDLKsENXtpTs3vJF4KfoxuzNcJJedeUXgU7JC3rdMbh54bZKM8tS5+iIkSBp2pre8/1ri+Yli7w8nRE4SfT9ycUZkct93ou+7MeLvSJZ3pQ+kn5YD43ZaCHbQ93Qkp+l7/2OWB5ZRySVZgc4B9duOJ4w4gDXvNmoBoHbIhmWUzr46cAMAQFuTVf/uK/GnmJ1JihOKZNp8xxIAgFgP63xvTfyZdIonR9IPQpFcfmPexy78RPCLnAHjIsPJAQAARCQECCLgL77S/PH3Xo0/u+aJ2H0fuS745UUr3Oc9c2/PnwjFt6fN1ReFiuQyIyVSjAn7pNVuz5TZ+kIAgK5Wq3nSDG3uCcvds/rOiUCojLKqoaN+u7Fhz470kE5KExhbICLKsiPImJVkzBzRd+ZAxI3ObXu63rlDCGYwbiW5YCaVNa9p9O61WTqSUcrtX/bVV+7FIPuuhv1JrcOGVy9aOLnw9NsQqDLYPs097/+lNbL5X6Mrw8L+pV8IiBQRKemrlKAyQapRIusEJV2iiosSxWUzI8q4ddwQnUddzEwoEpeH+pAMTAD1+CUpN81UNNS9ASnkDUo2AIA3QKmmowMAQJJR8QRo0BscWHOe24IlenmEDyCdiIiEUpQBAFUFFVVHJwgQyQTvFQI4YiaI2ZawJs3Q/7nsHM9loSK5bNVlvk801hnbVlzsu3b15f7rhMjalAAIKoEMAHDi6e5zFyx3nbXvZNnXVTYw/unW1q8i4taJEdqRg8ORV11asfziYN7UM/c2vXkXAAwqST0cRBJNbyBiXz2sqnlLps645I+qlYp0dWx9tL1t2yOcWeMi85TnnqSDEPxQCZGU2VPXk2hYc6S+Y7nR2PH0nR51APMFpPAXflL0R39IKhhoOyJgQZkyCQDgpFWeC7Mjm75MVyAsFQIAVNVoc7/9h7KHc9O/A9G826y98zstnwWA/VYCORO8qEL9x4Y3Ey+YBjdOOdt76YXXBb9kpHjqf3/U+qWGWmOLoqHeUGtsAQBo3Glseeel+JOrr/B/sqpGnxcIS4WWKYxEjEeZLSwhQDg9xCchwVSCx5NxdlDtHmZsQagkoWxbcFyUWnyQ4HDl15RXnXYLparbMGJ7KVUeYcxMDX3k4Oj/sOaFa+Z6vKWLKZEdiXjbFhBHn9ZzJHE8Ba4cDmMEBqS4UplSVKFOHmpfX56U78uT8gfa5nBRz6QafdDiY84EG2yWvrfe6OOWnf/x4GIQIDgH1rTL2L7tveTa/vuaBjdmLHDenUry+EsPRe9pbbDqHvt79x2vPBr9p2UK0+Wl/s98t/A3pZOU6U/c0/27Fx+K3H3g3UREpBJIsoJqR7PVcDze8OMZ8VjTu0Y62uh05c/weEsXqZq3DMao1pQQSamedu6ZlKquVLKztq3lvbs5P7geUJI1DwISka2X3KeJNxSEYGwfgXsCY4NRBzDGBLNMYQIA7NqcWvfiw9F/MFv03XBCkK6+3PfJsslazYY3Ey+9+Vzvw9l6RkAEXLDcfdb8Za7VTXXG9qfv7fmjbYm+ZKWkoLr6Mv91JVXqVNsCi9mD0x5Ggq3vJd/Ytj75Zi4XBwB9ZiOLzvCcG8yXiuNR1v3607EH6ramN4zFOScwOAiRFCT0kPWA/YFI4vHelg1OV/4MRfUUebylJ1JJHa40EIDgbLAgojuCkwLBKasAADraNt6fTvXsPnAfShW9etp5v3C5CmZmi7/Z/uohgyMZb99KJfWbzD60Mc0ERoZRBzDBgedWFZt3m7WP3919p5HifcN5SUZ57lLnGWWTtZq6Len1j/2t6w47G4goRerxS3nzl7lWd7ZYTY/f3X1nOrkvia87qeuEU1yrSqrUqZwLJsTA08uRgg/CH1M0ov3Xj4sudTiJ+/03Ei821BpbJAklQjOuS8wW9nBY+YRQOeSuPkuiqo9xK8G4neLcSnHBc0XBGf0vEEwIzgEEE5mC4P4qB5BJ2o58cUhXfD5CDu2xqUiOPIcaqBpx4/sj6/vYlxnMFgtj1m6tr2hYzhQNS7lksQORSF29u58x7N6W/MJ5l+cXzhtc7HIA6I7gJAAAQiS1rOq0W0ZyfG+seR2lyg8PnHYiElJeddolquYr59xOM9voDeZNPTsvXEMQqUQIVTm3UpQqrymKO9/hyp8hSaqbc2Yx24gN5l+JgIRKqocQKttWKir4+Mimf5gx+gAmQHDe78YdTGYVB/zSny/Wf+41EA123/q0gAGdj4YLWUaZUKScCda/zX6jMCirVmvmnOQ8nXFgb78YfyzRy2LLzvVevmC560xAhGfv6/krALw81LkISlpZ3olf8DtKlubeyiLzX07/i2W1v3KqBjmJFr5/8BodEAhVZfdBGmj9URqcf32Br+aK0Z6j39ly5rV9+mDZJXq6TxcMpaxWGIHsvoyb8fXm/bsNu7dF1bzFgbwpq8Wwp2EZ5CSDHI7QFIcjNGV4nUXkmQBy0JtB1wNV4YI5V2R1zKSKSWd8TwDw3L4IgIlE2+ZN7/39wl07Hv9quGD2ZRWTVv4gnequq932yH9ZVnLASg1ZdgQmTzv/Dt2RNzkRb9vIORuTmcRgkKjqAgBiM2NgE50PIEYvqdyPcKrqxBEqlsvzS5S+4Xm4SJZUDXUAAIeLuMOZ7QwAIL9YJk438QIAKCrRQ8VyWX6J0vdWDBXJDkUlGgAAItCsGuiocOIK93lnXRX4jJnmKcbABgDY8X7qbUrx54wJJskof+LmgmsCYamovcmqf/fl3qcBAMomqzWnX+S7BhHIujXxZ4Z7vuyI45hUN0BEVCRnWJGc4aPVByGYkdWmAs4yBf9CMKujffMD6VT3QdO2wwUhkhrOn32ZqnlLMgFs/xcEIVSqmLTyEw5naCqz09Ge7l0vcmYlAGGfbhZS2TRiexm3U+l0tCkYmv5ehp+FmEp27Uolu+oQCVJJcXNmpXK5M6crfzohkioEtxLx1k1jfW0HXKcyKXzy13TFP8mt5/8knm7f9GHI0Y4+iY9AqIQSAMDck5wrbrun4vn+JUUIgG4/DQIAnHKO9/ITlrnO7DcKQ4eLuAEAqmdpJ9x6d8Vz+x2LQNw+GgDITEUphRG7YucQzJeL5p/iWtX/b7YlLERAQpCcsNy18tQLvFcBALz9Uu8TLQ3WTgAAMy1S2T5xy+ATQ/8xhhBCFJedZAMAcM6M1uZ3/tzduePZsT6PJOtej7dssap5S+CAXBUiYiA45YzCkoXXAYBoa3nv7l07nryJczvdbxeEzMgSBbdNAADbSnQyZiUlSfVKkuZVNW9x9dRzv+Z0F8xu2P3SbQDwLACAqnlLJdkRsK1UJJXs2jXW19b/OsKeqWeXBhd8Tqaaz6Pnz6trf+02SuT/MG4d1irtsY7D4YFR2xZWIpahG2g6cR24j2UIwzKYAQCgOfbfLjiI4Rxr28IiFA/qJ6VIl6z2fKSoQqk2Ujw540THyYhAZBmVpWd5Lr74U3lLejrs1nSKN734cOQeQpCesNx1pstDfUaKJwEB5p/iWvXp7xT82hugoUSMR7auS70RLJBKCsoUOPMKvwcgMwf0BqS8wjKlCgkSSoFSCeXOVqvnZH80AAAgAElEQVQpHmWR0X5+H3YgIpaULT2ipiqIVM4SPAEAwOkqnF05efWPZNkZSsRbNzQ3vHHHcMixppno5MxMSJLmk2VH0LKS3YHQ1LN1PVAVjdS/hojPCSGE01UwixBJSyU7d5pGbFQiBMOBU82bPin/lO/KVPMjIjrVvOk1xWfd4dELT9AUzy/S5rA9EI47jPoLFOthXb/++t5PyDKO63TJSPNkovdgThYhQBaf4b5g+fneK4QAgQgECRBFQ/38jwc/DwCwbk386Z9+senqd16KPxkulsurZ2rzXR7qszO8L/CFpPxwoVyGiKg6iPNjXwn/0LYyK6luL/UTkhn5Xfn50Hc+8sngV3I8MACAP/yg9YsA8Mh4XvsHG4iSrPv3/0tWfwSyOdNREtBz2Q0BIChVgDEzYVvpKGTMGwgAgKp5i6bOuPg2l7twruC20day/h+WneyRZd2XmylgNg+PSCRmp6O5FUxmGzHLSnbLijOkat6SSM/uVxK9rRt0PVjtdhfPp1RxEiIZU2dcNBuRSKlk5w7bHh9PAEVyBKcVrbrFrYVn5YioiIgSVb1leQs+69ZCMwOu8h9GEk2vczG+ObijgVEHsGwt4XoqIVVU1MawTwCQGfmYaZEaiIEPkPlydrVZTbs2p9+zDJ72h6SCwnJlEmfA6nekN1mGMNqbrT22JUzT4EZBmWLlpqmcAQMBYuu7ydc72+ymcLFczplgvqAUzp1NkqFved/towGnm3oBgWRUOIDL6vgG7g8DbDsdjfTsfoUzK2VbqR5N91eUVZx6EyKhnNtGRsqZZzXphwIiIlJAQglSmVBJSyY6tjc3vP7bXduf+JokqW7bTkd5NggJzixumwnOmRHtqX+1oGj+x0L5My/OmK5k6T7ZHBggYl3tU98EgOcBABgzE6bR2+p05c/QdH8F57ZZVrn8zbxwzYUOZ3iaoroLbCsVcTrzawAEj/e2rOfcHnPiMyGSUhla/Jl877SP5AL/ftuRygFX5QqHGqiu71j7S4mqf7XZ2FoWHm0c9hB+0gxt3jVfzv+RrIztA93TYbf86dbWrwFA80DbbUvYDje99T+/7/oZ44KdeYX/09d+Lf/WdJIn/nJ72021G1LvcA7MTIuBeD8CAKCtyaz/ww9avkgllNNJnmAMLJENmKec473szCv9nwIA/NcdHT/eui71OiFAKEWZyijXbU69N1jf9y8EzjgOAQieoYOIXIGwyKx07WcOvP/q7AiBgESiqo/gwNwqIYRg3IwzYR9WDSHsW53L/uhnHJFZkcwZSBAAQvrZsPU9ZEJwTql8V0vT238CAMG5lXS6C+eE8mddIiuO4GH2DwAAurtqn2lueOOOeO/e9w/cZprxDocj7+Z4vOX9VLJr15TpH/kdIlJCZR0AkTMzKUDwLGnVppkVPgAA4NxKpdORBgAkmh6oIkRSvP6KdYxZSUV1Fzqc4RrTiO3VdH8FY1ayN9r0zlhcT38gIuZ7p19QnrfoS5TIA5bh5fbTZG/5lMLTf+J1FC50qsEfJs3unR+UBP9hBzBNJ86aBY6luoO4OBOMcRi1iilCRoIHCZLmeqM2N10bDMle1vc2Of/jwTRkA0A6yRO9UTakxn12uvjYQNsu+mTe/BzBY892Y9P7r8dfHKo9LpjR2PXuXa2RrfdzYae5YAbnzMiQHm2TC77PMAK43d8sIhPgRmenloNENe/MknP/dCgd9T2db/93S2Tj3SNt+wD0VznI2arlLNXkbKGwTJCqhNCsYYSkEiJpCEiTZk8dAADLrEL2JZl1R6CnvW3DfYhEEpwZ2SJq3ke0QYBgaPp5DkfeZMOI7e1o2/SA4Fm1BsxUegEiJYQqhEhqMtGxXRzCXSeZ7NxFCL1dlp15Wzb+62pZ1v1Vk8+8jUqqZ9eOJ7+eSnbWEqQyEqr0xprX5Y4TQoiyimXbAQTXHcFJlCrOVLJrV7Rn9xrLjLdbZqLD7SlZIMm6P5no2J5Mdoy5MxUlsiPsmXyeRFXvUPsiIlKU9ULfrKtdaqhmV/urP6JEeortW6w4bnHYAcy2RB9Tfsu7yddeeiT6j9HKGyoa6udeE/xsUYVSzW2w+7PzjwdwbpuI+M+j9XZTJD0w1JfStBNt8XTntiPVp5Egneqp37nt0S/AoEEcUdMClQ5H3uR0KtJQv/PZ77CBp0TZUaEQA5UD9UeWm9UKAI/rjmAV41aKCNkRjzWvi0UbB9SNAwBIJjq2cs5MVfOWKqorP5norN226b5rbZaOgQBRUrb08wBIemPN75pmYkzt+gAAbGYmdMX3bdNOthf5Z39MpnreUNI4iEjcesH8muKz7mrqfu/3quS8w7ATHWPdtyOJww5gnAMTPEMKbag1tjxxT/fvD9xH0Yg2ba6+OBnn0Uin3d4bZd39Wfs5ON3Us/RMz0VFFUp1Rujw+NOk/6AMzYeCJnuKCFI1aR5ccjNaZD+7QV9amQd0nxaXEJyNNzl0MKRS3bstK9GpyM6QwxmuScTbtwFAB0CmWsDtLTlRcNuIZHhl40LDSZmRPZTI3+5JNL5WFT75Fo9eMD9LGh4UiIiK7AxXhpbc5NLCsz16/nd70+0bj9fv7WEHMDEMSWm3lwau+0bBz/JL5YpIp93+59vbvg6DmH/0b3q8pKoBAAABpszWF1TVaHPTSZGwTG7wjCKGAABYvNI9M+cVOXWuvmjJKg/kBBYVjejpBI+/9WLv42aaH/fD8JHCqQanzCg5+5eEyLpD8V2XNCP1R7tPowEioYriCgEACMGZpvsDGaE/REnSfIriyoPM5JQgAJpmokOIjGuWYcSaU8muWtXvLQkEp6xCJA/ntvn8lctUzVeSTnXVRXvqXxnPa8jyvB50qP71laGTbir0zbiSEsV9qNEYAiISSQ17ppzvUoPTdrW/dislyn8YPzx9taOBww5gOX2sQ+3jcBOPN0hDHr+Ul4zz3tYGc0hSX4Zoenhms5QilRRUBhrtIQLOX+Zafc2Xwz8YSI6u/zVdekPeTbn3U+6P299PvbXhzcSLAPChCWCIiG69YN6MknN+4XeWngIAMLngtB8rkvOL5mFORRAJQUTS53494IhgeOqhWfJptlYzE5wG2k+WHYGpMy76X90RmioEsxAJVTVPMSKhk6df+D+cW6kcEz+V7Nq1bfN9/w8A2gAAmG30RrrrXvH5K5f5ApNO13R/GQDsliTNXTP7yksQidTdWftMOh1pHOVHMiIkjZ7dlChfjiSb3qgMLfmaU82bPozRGHGowanTi1f/1usoXKAr3p+nzOgR6e9YYYwC2KE/qMJyZVKOWb9rc3pdW7O1Z+h2kQ6VxB/wOAQM5MtFJyxzr/7ol8LLTEOkEPHH+aUHLMwJgESMRZp3m7XMFlZG1TUrawgAvqAUDuRLRQAAbY1WfaKXRRGza/USyJ2tVtN+taAfcCAS4neWLp1auPKXHr2wb6oS9k67KGXFGiWq/NBm5qiVFrz+ipPzQjUXZBY5mFVZvfIg677yqtPR4QxNA8iID5ZVLr+pYtIZB03PKiadQRGpTIikptM99YRKf+BswEJqJETWKJV1IaiS4Yhl6jYplR1IiJSjUhAqaf3tGoTg3Osrf7q4dPH1mu6vCAQnr0LEP/j8VSd4vKUn2laqp7N98wM8y94/EmDcTCKS/+tNtW+oCi+9JeSZfC5Bqh5yNIaIElE9pcETbnCpoRq/s/Q7kWTzW4MF/WMNhx3AJAllKg3ejiSjfN03ClaqOnFyJtiGNxIvmoZIu33U7/JQf/tea0//wuocqARSP+OQQ0JWiHLRJ4MuAEDNQZyf+mbBLx1u4tGdxP3qE7F/CyFEQdn+TQkB4qWHo/9Y+3z8UdsSJmPCzk6HAQDg/I8H/uuKz4W+hQh4z2/av/fWC/HHESE3jZQBQCTj/ENRNEuQymHP5LOnFK74iUMJTOn/QFAiaaXB+denrVgjQfr70ZIlna78mcVlJ/0XGaa8jqb5SsurTr9lqP16unY+39r8zl8A4KAAZtupntptj3wekUhCMEtVvcVTZ1z8R0nSfLXbHv18It66CREJIpWF4LZlJbv6H5+It26K9NS/GsqfeXG4YM6VXR3bHg8XzLlCkh2B7s5tT/TGmt4d9gcwRsjw5uA9RXJcX5o+4fryvIWfl6kjNFQQQ6BywFWxYpbirahrf/12iSj/svnoX0hHCoe/CmkLq3GXuU1RUOtqsw7ibFXP1OcvWeW+kBAknS1W48a1iZcBAE5a7fnIJZ/Ju2ndmvgzMxY4/1W3NbWec7DWrUk8095s7Yl2s07TGDy/5PJQb2m1On3ybH3hTf9dctrUufoiQoEiIuYVSiVGWqQaao3N295LvokEMb/k4OciS7UYkG5x2Y0hMysYg0ZKJHsjH05vSJlqnvK8Ez9dEVr8FUVy5g/0IEhE9UwKn/yttBVrRMRHR5MQNtKRxu7OHU9lrI6ZlaE/iP3yqwiAXn/lKZruKzPNREeke+cLnPP9Vhkzo2RCEamChMrJeNtmIfiAQTW7Qrk197vuCJpcMEuA4EY60phMdOwY6LgcbNuI54Vr/h4IVp/h9pYsLK1cflMwPP08zu106951f7NtIz7Sz2GsYNrJLoL0p7FUy7pJ+cu+49ULFw5Edu0PRESHGqieVrTyl9kp5W0pM9pwpPo8Ghx2ANu5Mf3u967bcy5mH3T47b5tRRVq9ed+VPijUKFcyphga56I3tdUZ2xzeYjv5LO9lxVVKJOLKgKTl5/nvWLz28k1Lz0S/eeT/+z+Q6yHdXIm+B9+OPh55y51nXHjDwr/xxOgoVy+itlgdbaYTRvWJl5664Xex7avT63t6bBbEQB0J3Hnis+dbuLNEm8HTVoqKqqZhwFwrEm6xxO8juLFFaElX1UkR3iwt3hW5SJ/SsHptxtWrBkARjzy6OrY/kR3546ncjJDAAev6CISMmPO1fdpuq8slezcuX3LA5+2rXQs1wdZdgS9/spTerpqn2XMTAASggBkKCrFUMgERMSBVjwj3bte7O6qfTaUP+uSopJFn0YkUrRn95qe7l0vHM45xwI8w4F70qH6t1eGTrq50D/zKoqyYyi6BSWKuyQw71MuLTQj4Cr7ZqYM6dicUh52AMuWFO3Hc9GdxDltvuOkz99WdMvMhY5TBABsfTf5+qN/777DtoTtDUikbkt6fWGZXBUuUSrcPhpcvNJ94dylzjN2bkqve/WJ2H2F5cqT7c0DTy8BAFqbzN08Y9wBiRiP7NyUWvfWC72PrluTeKa1wawzswoSHr8UWLLafdHpF/o+mlcglQAALDjVddZHPhn8crBA/nNPu906UC6LM+DRLrsjVxF3uJ/T8YpIsunNlsjGe0qDC26kKA1aMpYpIg5OnVxw2o91xfvpkb65szmXIR6SA0Z2/X5TVU9RxaSV3w+Gay7YU/f8D/c2vvm7bOA6rAePUsVRWLzgqlRG6uf5A7fbthEPBCf/wR+cvFKWdR/nzOpo23i/ZSaOmRF70uipk6n21YTRtbUitPirquQqHGpKCYDU5yg9uab47Ls2Nj5yLQzipXq0MWZqAIpKtGC+VDRlrn7iF24vvnD2Eudp3gANCQF867rk63/8ceuXWxvM3QAA0W67S1bIt5/7T89fl6z0XHjKOZ7LyqZoM3Qndc880bFs2jx98VlX+a9//enYf8qnaPc11RnbD5SVbm+y6revT65NxFj05Uei/6jdmH4nHmU9udpJQpBU1WhzPn9b0bdOWOY6U1ZRa2+26uu3pzcVV6qTL7sh9I0Fp7rPfu3J2P1T5jjWdLZYjakE6zXTIs2YYM/e1/Pnt17ofQwAoKPFasi1SSWUZAVVKoGUjPPYYAH2gwKbGTFVdv5ElVwFBb6ayw81DUFEEnBVnF4VXvoNmWo3WSx9xHKEmh6o8udNXqUozryyylNvTqd6diPiY4fDb1JVd0HFpDO+XFSy6NNtrev/QYj0yoE1jbLs8JdWLDs9pwGHiMQXmHSq7gg+nkp2jbm+2WhhsXSMIL0jaXTVVhec+gO3lj9nqMU3AdzuSTS+mjIjdUeqnyPFiAOYrBClZJIyzemmHt1J3IGwVFRSpU791l2lM0smqdMCYakwN+WKR3nPK49F733gj50/b9lj7vchWCa3AGAbIfiTFx6M/P2E5a6zVlzk+9jk2foCRUW9Yqo2s2yyOv2Mi33Xrn2+99Hp8x3/2LU5vS43sopHWc+d3265sTfCus0B9Lo8fhq86vOh7564wn0es4W15vHYv++9s+PWlnqzNlQkl130qbyvnHyW59L/d3P+TxMxFol02m3RLtae6GXRr/2qJH7VF8JpkS2LohLIX/9NiXrLnaW6oqGmOYhrb71Z+6dbW78Kg+TQPkgwrES7rvhuUWV3kd9ZtvxQb2+CVC7yz7omZUbqCaG/4vywjFmHjVi04c3G3a/8tGry6lsVxV1QWb36x0Y62gwA64Y8eB/6VGbd3tKFFdUrf+APVJ+OiFRVPcWUKm7IumMhIjqc4emTp1/47VD+jAsBkCYTHTtUzVuSF665UFU9xcHQ1B9EuuteYONEZB0puGAWIj6eNCO7qvOXfT/smXoBIQP7UnLBrZbI5n/Utr54i2nvv3hxLGHEAYxSkM75aOCGU8/3XqWoRMv5KAJkbirngsW6Weemt5OvPPWvnv/d+GbipYECTA7ZEdNeAPiTxy89uOBU19mrL/d/cspsfaGioR4qksvOvSbw2ZoTHCf95AtNV0HWhSZ7XMtg7UZ7WOe9d3beGiyQi+u2pNf/9Wdt34h22Z3ZzTtUnXzxjWdiD6+81Pf/pszWF4aLlbLiSpxChhBPzF3juy/Fn0z08nGRSDkWkTIje7yOoq/NLrvw7gNXIg8EQdlREVr8laTRU4uIDx4JljfnzKKS+heHK1xTVHLipwihiqK6B3TCGgyy7AxSSfNIkuquql59K5VUD7PT0daW9/6vqX7NL3PS0bLiCBQUL/hIafnJX3Q482s4t9Jte9f9tXHPq78KF8y5oqT85C+6vaWLps+8/O/tbRv+7faU/CmRaNs8Xoz8kSB7L7YqkuOGlBnZXRo84QZKFFf/+ykEt9uj2x/a0fLCzcdy8AIYRQBLp3hy0Qr346ee772KSiALAdy2hBWPsp69e8ydm99KvrJuTfyZXVvS65O9bERTiFiP3Y0E71n/WuK5RSvc56263PfJqhp9rm0K89n7I38dDgE2B8GFQIJv/+am5uui3ayjX/ACAIAsufUJ3UleDhUpZUUVyuSCErkykC8XeQM05PJSv8NFPJqDODOBOkMXoRQlI81TG95MvDiYScgHFbFU67qdrS9/d3rx6t/K1DFo7R0iokwdeZPyl30vYXbtAIAB5ZQRCUFCZdgX4A4Z6JBQktPzQkBCqKxTqvRPLYi9TWt/LyvOUEvTW/8bizaulSTNjRmdfulQbt6UylpF9apLZMkRQCQSlVR3MtmxrWH3S7d3tG38D2d2SlHdYX+g6vTps674mM9XcQqhitMy4+1NDa/9prnxzTttKxWlVPm5afa2lleedouq+cqKShZ9Jpg37Zyerp3PhvJnPdkba3zbSEebgq7D9VU5PJh2skuiyg8MO95SGTrpptwKsxCCd8f3vFTb+sIthtXbelQ7OQyMKgdWuzH9zpvP9T4iSSjtrTd37tmR3txUZ25vb7b2JHtZdDgOPoMhK2fTSgj+8d1X4k+ddqH3mrwCufjFh6L32NbI7NWybR3SHi2V4AnILKVvBdiX56ISSIQiJQSoJKMsyahkOG8oAwB07LWO6eXl8YAQnFMiPeTU8qZXhk66aaikvksLzZgUXvYdRXJcb9oHG194fGWLyyqW3yQEtzlnpgBuZx2aBmsV3O6ieQAADmd42ozZV917EEUCkVCqusoqT705cwQSJEQCIGRv4xt3AsCAShyEyA6HI28qIBIhOIt0171Yt/Ppb/VGm97RdH9ZXmj6BaH8WRc73YVzKVWcAILHY83v7tn94o+7OrY9kSOsMmYmCaF/TiY6tpdXnn6LL1C5XNP95QXFC64L5c+8ZPeu577X3PD6HcP6wMcZNjMThEh3mnayfXLBqT/WZG95wujcuqP1hW8kjO6dR7t/w8GoAlhPp912xzf3Xm9bwswpmI41slPERkrxdllBLZ3iR6ROK7siacIhioo/zGDcNhTJ8VuXmjc93zv9kkMngoVwqIHJuuKrggOc1QEAFMUZDuRNWUXI4IFwMEiy5vUFqpYPd38huN3R5hp0SmlZyW6vr/x2hys8PRZpeGN37dPfTKcjTYiIbk/RCWWVp94kK5njLSvR2bb3vb83N77+P+lUT/2BU+Qs3eJlRXFtDhfMvryodPGNDmdoajzeuqmzfdMDQnCW55400kseF2QUVMi9pp3sqs5f9t3dHW/8NJZqOeIE3NFiVAEsO7I5IixdlpmmHXdFph9kmHayy62Ff+DU8mrcWnjmgduFEMLmRqw1svmf9R1rf5U0u2sHaieV7K5rbnj9jixx1cj4Zgo2Cim0AYD7tMoIVZBQJd67d1ARSgCA3ljTOzu2PPiZeO/e9y0zM2IUQghC6ENU0rwVVSu+Fe9t3djU8Oqvoz31a4ZSWTXNeCci3tndtePp/ML518SiDW8a6egxp08vBGeI+Ezc6Nhs2om240mZ4oiaKkzgg4O40bGlvuONn00vOusOKbM6BwCZBz5lRurqOl67vTWy5V82G5yNnoi3bqyrfeobI/WFHAUwl9851E5Z3thBwpWcM5tS+Z5Eb+uGVKq7zjITw05sZ69tJyH0h0IIfqwGh2y/jrngOhSOeABDQqjqyZtEqKwbvV27mTk6rhChkuLMrzgp1dX8nm2kPjSrgccKhBBCosoDQVfVGYW+mVfnlCRiqZZ3trc8f1Mk0bBmKPZ29qE5LowmsoYeoyZzHi3dsg86DkuuZjSgsuoqXXLRbyet/tQTzryyBaNtR/WGppQtveTO8uVX/c0ZLj9xqPKICYw9bGbG6zve/EVGY52zrvju5zc2PnJtd7z+pWO19GQCHywc8RGYECCQUoUqmmd0vlkAhEpywbxVV6ie0GTZ6SuN7H7//mRHwzFZ6vBBR2+6fVNj17u/8zlKluxofeHmpDFyhdZs6QrBjIEsAQDIuGiPDDLVfSWBuddRoriYsFKcW0km7BTntsEFM7hghuDM5MCsbK6NZ35ynrVxy01lx1VLEwDA5yiekpXuGRSa7Cn16kULvY6iIzbtzBizZOT4AAjJeR0QJAohkkpQ0giRdEpknaLsoER2GXa8pbnn/b8cbs3paHAUcmBCCM4tRELdhZOWe4qnEDsd77CNVA8zUxHB7LTg3BaCD3rTnOHyxcHqEz4KCCSye8N/Ins2PTzeuQVd8ZW7tNAMLuw041aSc2YIYLYQws6aT+QMOjgIwUWfC7QQo3Q4HDFk6vARJIe8p249f16Br+bSsTpnvnca2Mzs7U7sedmjFy4o8NUswJyYYNahCAElzPor5ow/CFKFEKogUmVywWkqQUmjRNIISrppJ1plSf+JZadGVOUgUcVTEpj7SYcamAyZDz4TkHKl4X15tj5nKJ77ud/+2Z3G6jMaCIhEQSSHlA4qDsy9rtA388rx7McAQABEBCCZ+5cJYrlgi1lB1377YXei4eW9PZvuBoAPQwADAYJzpJKWP2fFzeGZy7/EbTNhG8luOxVvN+Pd9elI2zZfxazt6Uj7disRaWSW0bfiqbj8ZRXLr/ye7PKXJjsb321d/9ytzEyPu9ddwFm2fFrRql8hEkmA4BlHoazD0D6XISZAsExhck4KZtwT1H1AJNSh+qsPtU+Rf9bVhb4Zlx+J7vT7Z1+JTtbMiPT9npOj6odYqu39PZ1v/WZ0Z0XM1Wv2NXqcJhckojiBKM6j3Y+hkLuRRwNHbxVScDvVvfd9EJxTxeGTVEdQcfnLXYVVywCQCGanbSPZnY60bSuYu+K5WPOOZ5iR7ClZdP7troJJy9I9rVua3nzoS+lo+yE1m8YKiESiRHENVjt2PCArXKcAHr/XMIEJ9MdRC2DctlJ73378lmRn47tEUnSq6D7Z6S1RXIEK3V9QowcKZ6mevCmugqqT3UWTTwvPXP5FO53o0LzhaUasc1fjGw9+IdFW//rR6v8EJjCBo49xDWBIqKy4fKVWItY8UCEr58y0jVQEACKQKczemj1OIpLiUF3+cnfJ1FWh6UtvVNyBSll353NmGx1bXr0j3lr3yrHKqZnABCZwZDCuNIpMvuqqvxUvOv/n7qLqU6mieWAYGQkkRJJ1V76eVzLfVVB5sqQ5g5liEDOJhMr+qrmX6YGi2ePZ9wlMYALHPsZ1BOYpnrLCGS5f7MyvXBqonn91qqt5fax5+zOS5swDyCT/iCSrRFKckuoMqp5AlSOvdEHVimuXaP6CGbLDUwRCsHS0fXukfuND6Ujr5oK5K7/pzK9cWnbypb93hstuTLRP0CcmMHr0G8X3rVDu//uHCtnBxT5LumOdXzmuASwdbd/RvnnNfzvySuZr3tAUV0HVya7C6uVZKgXLn336TYIzU3Z6i2WHp1BSnUGkVOGWmbSS0eaeuvf+FW3Y8liidferVirWKoQQzlDZnvJll//RkVcyv3TJRb/VfOGPpyPt28fzOg5ArvKF71uKBwGQ8zOE7KrjftPbcecVHQvAfv+H/UfafSuQfRSL3EokYpZzlLEzO5wHhgs73ZNoeDWe7ty6jwNmpZiw030csAwfzNxHfcnRXzL3D7J8sAGsQj8MQNxHfyFZ6kuG8oKSSpCqOQ4YQUmnRHZQojiTRletgKNDXMbxTiMhoZTKqltxBypdBVWneEqmnenIK10gaY4AABJERMGZlY62b091t2xM97RuTnY1v5fuadtqpWJ7ub1/7gwR0VMybXXZyZfeJTt9pT11793b+Nr9N4x3OZHPWbI43zPtIi6YyYWVZNxOcWGnOWcmzzwgpm8/VyAAACAASURBVMhQKux+lIr+Ae5D8kBkX9z9HwRAAhljDNqPByYjUpkgzT0YGkVJI0TWLZbqbupa9/uhJKlRkjKrqSLL5RJCIOZs2USOASZgn+BY330Ybf5UcwYqdHd4KgjBk7HWzUYqunc07YwVHJ78aS5/6ULLiHfYZqonnejcZRmJzqGPHD72vVSytJcsHSzjFYGY+TS57Q6UL9acgSozHW+1rWQkFe/YzqzxdWYa91VIwRmDTJL+PURc31379t8dobKF/so5l3pKpq2Snd4SAAA7neiM1G98INa45QlmHSw6RyRFR0QKSFKx5h3PtW9e89uiE876oa985gXx1rpXkJA/CM7HTWAwmmxeG03ufTvL3j5ugxFRVSfVdH+OuiM4s1gy0SEYOyZKfxAJAQAcyliVqKor74yzvys53WGWTHSxVLLLjkX3xrdtfIglk+Mm8+0vmH52xYyzb+fcNnatf+AGALh/vM41HDg8BbOr5lzwW0RCmG3Ed667/9MA8NhYnuPgafbBQCToDVWfXjptxTc5Z5aZjrVsX3v3ZTCEHt/h4ojSKIQQAgmNO4Il8zRfwfT2Ta/8N1V1X6D6hI+6CiYtcwSK53Zse/33RJK/x22rzxOSUEkpmHvGTa7CSctb3n36e70tO1+Wddff3EWTV3hKpq32ls04v6du/X0AMG7yt9mbeEw85IcD5+TpZ+edfub3gWa4YFZ31662h/71CQA4yNPzaCBrzDqsXbWi0gWOyupTc38wuzpqk3W1z8M4+hQIwRmRZAcwJGKYBdpICNUcgXIj2dM45uU2QjAkkkKprHNmpc1UpHFM2x9+RwCE4ITKOqGybiR76i0j3j70cYeHo8LEV1y+cme4fEnHllf/p33zK7+O1G98IH/WqV9xF09ZmY60bxUHGEEInlHddBVMWqYHi+cCwMtWKt7pLZ3+G8HsdMu6p7/PjNQxY2N1TAMRJV+ggsiyDgDADaNXDGArd8yDC85Nc7/pCYv3tnEjNa5OSIIzK1uVJITgwwpGTk/hrOr5l/6xu2XzI6rD92czFW0ew1F8Xzu2lYrkdMyOBvpXzFnp3lbOxt/Ze5x5YITKDm8xt9JRZhlxwTkDIYRgzAAEkHRXWPOGpwlmmx1bX7sr1b13QzrStk3zhqfp/oK+djRfGDiz0oIz25lfvkQPFD4HAECo3N2x9bXfCc5sQKRwnEizHE0I00z006AHwWxDsJEXTh99CC4OSDXYiXibsNm4Xksmt5kt+B6G4gaVFEfl7PNvcPqK5zk8BTMU3Vdav/HRLwPA2JS/IZDcqgezjBhnVmpM2h1NV/otwFhmokscgeLucQ1gRFKcJYsv+DlVHYFEW/2b/so57+mBwp0oKQ4AJIXzVn07f9ZpX+1/TKjmlP8auC1ZR0IlX9mM81z5lUtzRW+AREr1tGzY/fzfLocDppBEklRH1ZQVRFXdgjFDMGYJzizBuQ2ZYJrLZ41XTivbRyRICAEkEkpURUlWEZGmGna/ZkUjR1RELjM17zfiyn0WxxuEEMLeP/DyVLLncB8aKikO3Z0/HQRnnNsmiFxtawaBopmhzL+QKJqnUHeFJme/hxQJkRCpTAiRjWSkwUzHWgKFM1YGi2ZdDABopCLNnU3v38tsc8wS2/19Ohkzk4KPbwA/VE+wn5AAs43YcAL84WKcp5CIsu4ucBVUneIurD5dcNtgZjqKffWEmaE4EipLmiskOLPtdKIDQAgiax5J1X22kYpwKx3jtpUikm0goQq3zLjgtglIJCRU4pYRhwHUNlFRnYFTV35bKyyZJ/qtVB1QaD3ewH3vJiRAkAASImwr3Xr/3R+FI62CyZjVP1wLLrIyzscXBIDoP3IUQghuGnHBDk84UNX9ZVNPvPqfkqz7s6vI+73gCJU0RCIhJbRy1rk/z/peZukfiJkREZI9m5+8JdJe+2zxlNNukhRHwDaTXXs2P3VLtGPni4dSWhkpEKmSW5DhzEodKR/OAfvSr06Y2Ub8SHyvjkgOjNtWOt62+zVJ1X2Ky19OZdUFIHjz24/f0tu84xnVG5pasfyqvxuxzto9a/79KcGsdN70pTcWzDn9651bX/9d57bXfw9IpNIlH/m1q6DylKa1D38l2dH4NiASRKRCcMbM9IA0CiSEoiSpxxobj3PGjo5MQk7mp+93AcfjqqoAEAeMHIU9Bg8vAiFU0gmVNCE4AwG8v8xOv1EGAhIZSR//DXO0AgQkVNa9JVNPu9ntL10ouG3s3fnKL7v3bnxwrEclhEoqZDU+BLfTw11YGAdgzpxFCCE4s5IjWJAZNY5QADMTLeue/q4R69ipuoOV+XNWfMNbWnOOnY63G73dDXqg0CMEZ9y20laip5FZZrJg7hk9AAC2mYwYvd17kBCSjrRtdRdPWUUVzWulejuGe/5908T9uEG5x3johxcRAZHmxlFCCJGddg3nwcd+YiP9tJQmMAbY//MfQvN+ODDTvS27Nzz6Zc6sFLONGGe2IQSzcm37C6afUzp95XcFZ+aezU/e3Nu9500EJECIRJBKSIhMqOLwhqpPzyuZewUAQFfzxvtb6t64azwE/wiV9ZxWF+fcgqNFwEUEIimO3K9HKpAeqVVIIbhtWsneNgBoK1503nZvac05I2qAcx6qWVqHhEqaNzwVCSFD8b6EbRvxrRsfTDU1rBW2lRa2bQjGTOjLgwmeMXo49AhE8niLfQtPuh4V1QUAYMeizdG3X7+LW0OusiAiIUCQIiEUCJVRkrTMCiASK9pzlJa8PzDY/0VADq1wOhzYZrIHAO4bbHu47IRZkFlw4+lE5654T9O6/TqEiL78qavySuZcTqjiiHXtfq1h67Pfz7Z7SCAh1BOoXKroniKeG03lqgQG+Ybmlcyek7O2kxVnyJ8/dbU/f9rAz0Xm0yKIWaVVIqmCMzPSXvs8s/cnnBIqa77w5BWUKk7ObSNbscBhkL74w1Oo5gzmvOKE5gxW+vOnrR78YjNDWMiaDhMqqbaZ7I527HppJIF+fFch99WWjInmmRmPNApmG5q/cGZ2vp0+1P7cNBKIePvhLllrhSVzPXMXfpxkAxhLxNsj77x+F0sM351mLICIqBaVzJcDeZMywdg2gWXlkffL8Q0OpaBoDhDsS/wSVfPqZRUnOcqrDr16lRmFIiBKSAhFSmWkkgKINLWn7hU7PvwR8ZgAAZHS/RRN8RjQanP6iudVzDznp4rmKUr1tm2u3/T411PxjmGZxBKkckHV4uuDxbMuyi4wZQPR4PcUCZVzIzBPsHyJa9FH/z30mXKy0YSmE111iejeswFgvwBGJdVdOm3ld5zewjkCBMtRRw7ZfyKpuRPklc69Mlg865Lh9SVTrRHtrHu5t7vhTRiBsuu4J/EBCc2kOA94OyKgM1S+yFc+E9yF1eWEypqku0Ke0ppzfeWzDF/l7BoAAN1XUOOrmHUBCCE0X3iKENxWvXmTJdURAIAhyziOZ9b8QUBEz6z5V/lOWv4lEIJlaCkZagoI4DCMZBYioShlOGAAAGp+4cyiK679z1C1f/vyPLlVVaSAhHLDiDXf88fzAOCIBjAEgP4BDBERZVkbzsh8vOBwh6dOmnfxLx2egllmKtq0e+NjX493N6wdSRsid1+zCwhD3xfcVz+KREIk9tAjGIEIiAK4OMjZvN9OIDjLbBcChrXygP0KwKmSK6k7dP8hU4oEKGAU+cHxDWAZ+oCULQGiB27Mn33a1zJvGUQkRNZVh7/i1Kv/nj2UAgAEqk+42j9p3hW5Y5AQWXF4ixRXoByGEcA+iMB9I6HDvn9IiISq5h56z8GbONw+jO6sSLBfzgUAgPz/9s48Pqrq/P/nOeduc2dfk8m+kZAdQpB93xRZRFCrP7Xa/lqrtX6trcvXvS5V27pUrW1t1VqttVWpdUdlFUREZA9rEgLZk0lmy2x3Od8/ZgZCIJCQBEg779cLXrwmmXvPHeY+9znnfJ7Pw3Iiin4mfV7MB8CY5XUOBAioqsqIqnIPb/zjsKWNip4TEBDCaxlOY0QIIZbT2rJKFzxusGVPVpVIV+PBdU/7O498TVjBwHCaY6dDgAFjAkBYORLsVJTI0cxXpYrUXLvxDx2Nu96NTSHjzUdOOhbAhE3Nn36HyZ43M/5a25Gtb7TVb3vzFOuBcLQ/AWZ4ShXpZLWTihz2Hd772S8wYUWqyOFYnW+PDaBjEFYwZhZf9EtR7xiJEEKUKlLDgTW/8bbXrutlHCj22CGACYsxw8tS0K0q0ilnVT0Z4ikkYACMKaVq95sttmmCQu7WvXKo74WngDGjsTjLMCsYNNbU0QihjYM/6vMeenRqQaNPxlhzCtqnRWwADIThj25IqKrSNyFrLNWPTj5i3YMAIXT6aeuQABhjQTAe9xLH6eCEB+WpYVjBmDtqye94rSWHUlVC6qkDGMtr7VEZBUsyiuY9nCJNvQ2h6JRLo3cUxoIDsadXXGVNLVvac9Sxe4KhlKqHdn10J0JoTfyHsV3VDX0fu8YA3TobAQAwrMbic9VtVOTwgFTwMQPSFX39fUFnzemuAwPAhBBO9LRVrxnK3cghDWBKJOQ9svFft2KG1QQ7mnchFP2QU8ctIohStWXHqifcdbve7+vxMGGF7JnX/F3nzJuhS86ZghnuFVWOnDPl8VmHUuqr2rE83Nayh0qRgCpJgeiGRHz9q/cnZBwuyVlqm33xLyFWShRuadrhWvnRfVSWT/3kiwctiGUQhOGjGQ8QqdPV71ZqAwVYVkN6BDAiCEYg/cxKARNBa83VmlLKu+1WU3Qq/6PYg0KjtxfEHVWiL1OVqqoMQFitMWXUiec61shEVeUgYfiBZL6I5bUOXjRnxgeFEEI6S/pYjc6ejxDaOpBj9xdBtGSxvM5+bCyAjfa8mSyvtSGEhqwmckgDmKrIEYTQ+uNeBMCAGS4286X96cwNAD4p4GtGlKqCyTGSFfVOhFDNIA/7vCV2g30Z+3NGiFm5UnflveL3tgRqDq5SpeH1ICC8YMKCxtT9NSyIJtTPhXxViXQ1HFz7JGF4varIIUpVCdFYn8hTgDHDW1NKlpiTR15EKSJypKu9pW7zKwFP047e3hvbeCMYExYw4YO+lqr+jLUnoiGpkBX0yZRSGg50HmJ5nYPjDckWZ+FCALz9bOiwEIolJfnTKwnD6ShVlZDfVS1orTmiIanIYM2ajBBaPlTnPidNPYKuhm0dB7e8LgU8/XJAoJRSe+GkL0Kelr2+xgOrpICvaajG+B8LAO6+ahXNvIbfRgcRtVaiEc3dX8OCYMLR9bw+7w4rciQIAK/3Z7OH5URzcs7Em/SWjPEIAQ76WqoOV336QEdz1QfqWaorBcA4u2zRbIwZnqpyuKlmw+8c6WOuFo3OcmtK6ZLWw1v+ihA6dDbGQhhBb7TlTkMIsBT2tzYe/OKZ9MLZ97G8PtmeMeZqwvArBjql7Y2z35lbVRXA5NWO6i2vn4nYzbV/08uUqvK52mka9uDj14iookTQMHQfZUzmTGCP75lINFoLYzCmon7euKcLXoAx4TWmNMCEYzmtLWfUkpstKSWXAGDG3bJvxeGqFff73Q3f9sx4eNGczrCCscvTtKs/4+kLnKB3Gu25MxBCEOrqqO1o3P0uy+nsotFZpjE4Cq0ppZcC4GfORhYmGpKKtabUCoQQ6nI3fOtq2vWuKSl/jsVZfInRljPdYMuejPqxntYfzkkGFgtcZ6TUjU1LE5whgDHprsmjihIZbgkYAIB1+twiIMdPFzHPG4TU9LGoHwvhfYFhRUv+2Cv/JmhtuRgTjrAakyIFPU2Hvn6+8eC6ZyJB73EzAcJwoimp4MKR466+XZZCHk7QXxsJ+QZtHQgAwJE5dm50rYuqnS17PwoHOuvaG7b/055RcTUnGFKSssf9oLN5z4cIoSG1W8eYsFmlCy5nea2dUkVqr9/+z0jQ22RLK3/DaM+bRViNyZk76RaW134jhQdfNzmkXYkQQogVjU6tPX2MYHIUAO7fDlFMPpYouxlEosJH1D2AScPN/x0YVuCSnCUnfJ8AsDa3YC7meLGXt/YbhhUM1pSSS0R9chEn6JMJKxgDnqadB7e+/cPDVSvu7x68CMNpjLacyXkVy14cMeaKV3TmjHFGW+40R+bY6/v73T8VnGBwJmVd8ANMGD4S9DS0H9n2pqoqcsDTvNPVsOMtRKmi0dnzU/Km/JR003AMBaIxpSzqtgG4y9O0vbN13wqEEHK3Hvjc2169BiGETPa8GY6MMddiTAY9YRryDMycXXpp8qg59/hbar+sW/v361APxW9vAMZEn5o/k3CiGTBZfg6LVP+jAEK449bAop/rsApgRBStnD1pZM/X45UKnN1RiBDaMpBzYMIKenN6Ze7opTeakwsXxHcMfR2Hv6r+9u0bAr6WqvjUk2EFnc6UVplTfsnV5qSR81lBn4QQAlWO+P3u+m/Dgc667gWxAxoXJmzKiKnX6ExpFZSqiqtx5/Iub/NOhBBSVVnSGpP/bHLkz9XoHYW2tFFXeF216wDwm0MxlSQMr80dteQnnMaYSlU51Fr3zV+kkK8ZoWgNszkp/3m9JWsiw4lWZ+7kn/g7G7YghE6hC+s/Z2EKCcAIWjtmWAH18UYBjIkxrfCi1PGXPI0ZVoMQVQGTdwcSxAAAWLM1B/OCnipSmCqx3aajJTioV+0P50hO6l5JAIRwjN6YyhrNvT/dINZ5B8e8ohiGRwBE6mg/oEbO4Y4fOWa/ghBCiFJ5eIUvhFiLLZcxRHspIBSVLyAUU2hqdXZdQfEiwHjrmayTYsLwWmPqqOyyhd+1OIsXcYLBGVWIUxUhIKEuV03Q374fAcaCaE7VW7Mn54254lKjLXsqw2mtCCEkR7pc3vbaL9rqt73pba9ZK4X9bYNVEaK3Zk9Kzp7wI8CEC/nbD7Qc2vxS96bRAV/r3qaaDb/LKlnwK8IKxrSCWfcE/a5qhFC/KgJOBwDGjoyKZZaUkiUIIfB21H3lati5vPt1etpr1rXVb/27M2fiTbxozswomvsLQTRfFwp01g3WOIY8gMV2ZSiN1uyd9gsFGBNjRsmitPGLnuR0lixEVdmQmj/HW793BRqAiyUQwpqnzLxDX1R2KVVVFVEqU1WRkaoqsVrCXrU/wDA8FjRHNUes1ZaXcuX1y5Hai99RvAY0anJHgBAWYcwofl9r0z//ejmKdSA/F+BoID0WwFRVHWYJGBLSsyZg7piGKtLavBsYRuCsUXNBXVHZpZ6tX7+C+rGYz3CiSW9OH5c3etmVpqT8uSyvT0IIoVCXq6b9yNY37JmV3xVEcybDihZLSvElJvuIWQZb9hRBa8kGzAiqKgW7PE073K37Pu1o3P2vLk/TzsHeeRP1joK8MZc/yovmTFWVQ43V638b8B4vxaCqqjCc5g2DNXuSLW3UdzR6x8is0oufEPWOGwK+wWk/CABgsOVMSRs55z6GFQyRkK+5Yf/aX0dC3ubuv6cqcljQWp/WmzPG6czpYw227CkZxRc+zPLaW6Vw16BYXw99BharteqL6wNgjI0ZJYvSJ1zyDKs1pVNFCrbv2/Ry89bPHlYioQFa8AJgjtMSMdpUdyBghhU4iy339L/ZA0WJnFhSdbpzMRxnTypChDBIUaSoq6wqH1Xgxz/XPjae1JdVpByXTXK8jjWZM1iTpW8FtPHMEmJ1kRgTwJiNFncTVvb7WqXOjkP9ucb+gDlem/Kd66aj2DVQSqm/asdyzPN6dvzUWwFjzNkc+brC0ksA42dPlYUBAAhaa645uXB+4fjvLtGaUiviU0Up7G9xNex8p7l24x+kSJfLmlZ+OUIImRwjZpkcI2YDJhxVlUgk5G30umrXuxp3/cvnqtsohf0tg2lYGEfQWrJyR136dFS6QdXO5r0fuVv2rTjZ1FCOBN2i3vGQRu8YqTWmjDZYsyZnly9+VqOz3RT0t1cPZBwAAHpLxrjsskVPC1pLjqpIwdbDW17rch/vyhEn1OWqNScV3J9XcdmfOI0xzZY26gpFDvtYXveAFPYPuP3b0LdVO+k/TwQAY0Nawby08YueZLWmdFUKe1t3r3u2ZceaJ5XI0PZ8PJ8hWp3dsXDZC6zFlodUVT7ODvuYGWGvdis9wYJgRBgfLYLWjSxZrMnImtjXAHhUTQ7H7LIRJlGHCowZ99df/gEwfmCoZC6c1ZbHJ6eUx9XvajjkDdQeXI0AsGHU2GuJqLUhjFlDeeXV/j273kWnzMIADNbsSRlFc39BmKiqX5aCne6WfZ801371or/j8CZFkUJcdE0r/hYSCbgP+zoPb3K3Hljp66j7MtTVcai/NXz9QaOz5mSXLXrSlJQ/FyFAfnf9t4oc8mWXL35Wa3TeGfA27+45RQ34WveZk0fekzd62YucxphmcoyYlTPqkudFQ9JtQV/r3jOZ0kaDV+b4nPJLntMaU8oRpYqnrXq1RmvNzSyZ/zgvmu4LB060SPe0HVxVv2/VY5nFFz7KcKI5KXPs9wAww2uMD4WD/dOC9uScyCh6AgCgc+ZOTRu/+ElOZ8lSwoGOlu2rnmjbs+EFRRqcNJwiSpVAlyvS4aqJBgJFpqoiHQ0KRx0dTgRznJazJxXF3Q/USNgfaW2pindLOvGCYs6cGKIeYIRwQAirBAL9b3QAgDEvGBltvExjcCEajYlojle0D4R4idJQAABgnjR9Dol9FpRSKrW37Qu3Nu9CqqqEGo5sEfMK5gIA8I7kEn1x2TLA+KnegimlqsqwwnKjY8RsS/LIi91t1ataD339ssdVs663hqzetuo1tTve+2ko0FGj9LGMjWEFvc6UNsbnrv9GkUJ99sMHABANySU55UueMDny5yAE0OVu2Bb0tlRZU0qXEIbTE8KJNdv/dTNCaHfP97tbD3x+uGrFfZkl8x9neV2SyZE/J6/isj8d3v3JvYDJ+v6sKQNgbLTnTssuW/S0aHCWIkRVd9vBVaoqR8zOwouj8yeG4wT9bZGQr6X7e1VVkQjDvcrwojUtf+ZdhOG0jszK61he59AanfcGvM1VZ7pGeF4EMK0ja3zahCW/5Y2OkXLI39a05eP7XAe++Wv33pADRlGkjrWf/7Jzw9qnqCJHEKUyjftnnaZxJ5/kLEu58vp34tNPqcNV3fTWa1cpwcCpdC0x/6y4qSFmAWMi+4//z03Qd4iotemKyi49JkmgtOvA3k/UQHQ9xbd7+1ua7NxpwLACIoQzjB53vX/v7vcQQvt7O6YshXwane0XrXWbX/F3HtksS6deqoiEfc1Bf/t+VZX7/CDS6B0j88Zc/kqXp2m7NbX0VXfz3o+V02RsGBPGlFQwO7Powke0ptTRCCHk66jbWLvj3z8lrMakM6eP1egdhQZb9pTsssW/1ehsN/ScHlJVkTFm3kAIoYziCx/lBEOK3pI5cUTlFa82Vm94nuV1r/RlGkcYTnRkjLk8vXDO/bxozqJUlTuadv+7btdH/2uw5U7TWzInsLzOYUstu0xVpCDDibf3NHBU5EiAMPxTgDBJzZ/2M0w4ncVZvEjQWnPr9616lDD8hz1NFfvCOQ9goi29InPKZc9pzM5SKeBtavj6/Ts6a7b9Y7BlE7EIf0bBQ3Cmebs/IaiqKko46FaCAfegDbAX1Eiky1+14+3QkUMpAz0Wa7bmaLJypwPGx+n/JK+nIVhzYCUdBJFwqL5u01C4UwAA6Msq5vLJKeXx1xS/v8W/b9d78f8b1mD6JNLaUiWkpFUAAHA2e4GxcvwPgJC7qdJ75hv0tx9ECPXNdBATDkHfnV8BME4dMW06L5rSedGcCRgznraDq9EpzDg5QZ+Umj/j+1EBqM6BqKq4Ww98WrvjvdsCvtZ9AAAHt779w7zRS/+o0ScVGe2506MmivobewpmVVWWAJO/SZFAR1bpxb/S6OwFvGjOyCy+8BFzUsE8a0rJc572mrVy5MTvMgAGQWfNyypd8FN7esVVDCsYFUUKtNZ98+qRPZ89FAl5mzEmh6gqh7NK5j/BCganPb3iainc1UYY/pGemxiKHA4Qwv1KloKdaQUz7mJ5fbLW6CzNHb30RYuz+COjPe+P/s4jXytyONBzLL1xTgMYZjhNxqRlt2gsqaOkLveRhq8/uLOzdvvbCc3XMZRAVwdg/NBxO4dnAABg25yLH9N062Td7WfEu/2b1wO1B1cP5BwIIdStVd2gQrQ6m3H0BdfHzRgppWqg5sDKSOuxXTjZ723y7fz273yyswwwYRAANpRVXOWv2rEcDcB6iVKqUCXq1qEzp4812fNmsZy4UVXlcGwtMirD6b7BgQAThteZHCPKHZljvguAiRQJdLQc+vplORI8SbAAYFiNyWjPm5k/9qobDdbsyYAJpypSoL1+25tH9nz2UCjQeTg2HgoAX9bueO/W3NFL/8iLlmyzs2hhaperhjDc/T2ntlRVZAD8oRzxt2UUXfSowZY9GWOGM9rzZurM6ZXe9pp1ekvGI76Ow19HxxL1SEvKumCRM2fiTaIhuRgBECkScDUd/OK3jdXrn4tfgxrN8v4BmHBZJRc/wfJaW3LO+BtDgY5DgMlLPe9lRYkEMWb+EA64D2cUznlANCaXMqxgsKWVX25y5M3saN77ES+aHwjHrvV0nLUABnCi8R1VpFD7vo1/YgTR6jrwzWvuQzsTgtWT0LP7zpnAWWw52hGF89FJDAiJTp9knjzj9nBL007Zd/xW+PkAAAbDmAsWC+lZ448u3oeCbu+Ob9/o7qJBVVVlzdZ3DKMvuJ6zJxUCABCdwWkaP/UWIgi7lNCZ7WQrctgf9LcfEI3Ocl60ZI+ovOIvQb/roCKFPKoSCchyyEtVJQKAGcLwOsLwekxYgbCCkdcY0xlOa1VVJdJ2eMtr7pb9J60JJKxgzCy5+AlbWtll8Q2FSMjb2HRw/W9bDm36s9RjSkYppYDx6rqqFfdlly56muW1dqNjxCzu0KYXEUIHeh4/tlv5lSCaD1rGcQAAD89JREFUv+fMm/I/jowx1zKcaCEMrwfAjBT2H83ceNGclVO++BmjPW9WtGkIokF/2776vSsfbW/Y8XbPDQtVlSVC2Dc4XpeUVjjnXsLwOnPSyItcDTvfQQidMEVVVTkCgN8LdbVXpxXMutuSUrQIY1ZDWI2ZKlJIkUJ9ntmctQCmsaZVWHIrrmQE7b/lUHTNIv4kObTmjWsVKeQdjBs1wYkAJsQyddZVrNWe193IMPozTAAAxKy86ZbJM27HHHefGon0OYU/G7AWS45p7KQbgWVFhKLfm0D1/s9DdTXre/6u7Ok85N22+S+2WfMfQYRwAAC6gqIFgaLyZYDxq2eyO6oqUsjkyPu9Ru8o1OjtBSyvsx/zvuodSlVVVaRAuKujtr1x5/KG/Wt+3Zs2TJHC3s7mqg9Mjvw5GDOCp712Xf2+VY/5XLUberOIpqqqYMK8wwvGVFNywUWHd39yT6jLdUp7qVCgs44Q9m5P28FVafkz7iQsr6/b/fH/hrqOSV8iIW9jZ8u+TwzW7MkKVaWOpt3vNRxY+2TA07yzN0W/okghhhWe57WWLMIIhiN7Pn1QjvRe+xg7zk6G1fzI2169Jjl30s2RoKfxyN7PH5alYJ8tts5aAON05sz0iUtfMOdWXGXKKn3e31y7gaqKhFkBUUpVzPA60seyrbjzNkIxd1CqynL4v1dqcTr4lNQKY8W478ddcSmlNFBzYCWV5ZC2oGhBdL+UsMbKCT+UPJ56zLK/V6WhkwX0B8yygm3uglv45JSyePBVuvwt7s1f/kEJn5hRUVWljMH0N11h6RIhLXM8AADmeJ158oyfh5sbtyOETqpXOh2etpo1e7/6yxKtKbWC43UOwmpMDCsYgDACBsIiBECpIqmKHJLlkFeRgm45EuyMhH3NIb+rOhJ0H1FPMbugVFUB8IeUUpXhREtn854P+1L8rCpymDD8C62Ht7zWU0jaG7ENhA84wbCZFXTJAU+0FOnYMaUQJuxLqhwJSJGudk9b9eq+iHJlKeRjOfEuhBDqmTH2/p6gBwBe7Gzd/xkAJuGgp1828WctgEUbz1JVnzJipmhLHxP2tO4/U++kuIgSICqeDLQd3owJ85OEU8WJMDq93bFw2Z2MyZwRf00JdLV3bljzpBLwt3E2ewFrtedHm2JwWuvU2XdTWQpihn1FlaVz1Kb+GNoRhRcZyiuvRhDtpERVVfHt3PqP0JFDva5pKT5Pk/ur9c87FiYVkpjpIWezj7TOmPcgozfcIPu8/faRi4lTjy72x0wGAPVcGomVpJ2JmJVSVQGAD6P/7vs6Yiy49FtuFAl5W1AvG1uqIoUB4NX+rmf2NXB1J3aOMzImPWsBrKuldkP7vk0v2Qsn3KBLzp0q2jMuAACgp5Ew9AGQg77W/uwM/beAWU5jmTrrZu2Iwvlx9T1VVdm/a9s/g3U1X1BFDrvWfv6o46LFT2GNaAUAwKJotc6Y9wsEgDHDvnQugxhnc4xwXnb1PVjQmOPflUh761731xtOmSFSSikRhA/8ewrmGkaNuSbaBxFjbV7BXPOkGT/DHP+AGhmYvjAWoAZ9s+J86qJ1Po2lN85aAFMVOeSt3/NxV0vNF+ac0Vfai6f8hDfYchFCEPa2HfDUVb2vSH2yl47qquLdTAjDh72u6l5Fpf+lAGFYU+X475nGTbkFs0d37mi4uWF751dfPBdf/MYs+xZrNKZZps65BzhOCwBAtDq7bfb8R4mgMWFeeFYN9118OVgwWp3NPv+SB/nk1FFH1+0iEX/n+tW/llxtveq64iihkJdPcv5GSE2v5B3JxQhFa1pNYyf+SOnyt2GGfeZ8yDATDIyzLqOQgv52APw7f3PNuuTRc+4xZhQtZEVTKuEEQ+vudc9E/J0nlCIk6B+YZQXjmHHXWWde9FD3zj1KoKvNteazh7sHAFWSQpgXnseCxmQaP+UWzLACAAARNCbLtDn3MkZTBmu2PCZ1dgyag8DpILygt8yYd5e+qHxpXLRKFUXybv/mNd/u7W/1NTOItLbs7lj72SOOBctewIJgiq6HcVrL1Fl3UVkKYY770/m2YZGgf5wbR9boDsR2RtD+yFE8pcpeNPnH1vyx17GiIUUwOW4LuVtP+4RNcHKIoDGYxk+90TJl5h3xqReilKqyHHJvXPtM14E9H/cMAGo45CMa8THM8TpjxbjvAxPtsIxZVmOsGPc9zmofIWbnPRw8XLueKkMrc8EcL5onTb/NVDnhhrjjKqVUDRyqXtuxftWv1EjfRY6UqhSz7Lt8ckq5ecK0n6L4dfGC0Tpj3gOY47VEEJ5XQn1vLJPg/OKcClnlUFcHZtjHI/7OOmfFvAcN6SMvTCcMrzEn3xLsbD5nljPDFdZoTrfNnn+HYdTY72KO08XFr1RVJO+2zX91b9rwApVPvtGhBANuRqt7AGHMGEZVXotJ1HYHCGE12XnTky223M4v1zxFNOJfh6oCAXO81jxh6q3mSdNvA47Tovi6V1vLXtfKj+49kyxQlaQQo9M/zVpsebrC0iVx2QgWNCbLlJl3Ea3OwegNj8k+b6LEaxhyzkuJVFkKASavyeFAR9q4xU/pU/Jmpk1Y8pxgSro55G7Ze67HNxwAQhhNRvak5KVXPaDJyJ4cLzpHCCEqy2Hvji1/c6365H4ldGqpidzlbyei9m4aDvuNYyfegLlo0wwAwIzRlGGbc/FjmsycyZq0jF+HGhu+paoyaLo9RquzW6fP/blp3KQfA8uJ8UV72eupb1vx/u2hhiObz/TYst/XytnsdxONaNZk582INpcFAF7Qmy6YdBNrtuYIztT7wi1NOxPNYoYXQx7A+lL/Eit1eB9RVUmfuOwFfUre9LTxi5/i9ZYbw76zt/Yy3ACMMWu25lhnXni9cfQF1xOdPjm+4I1QdCHbs3nDCx3rV/9GCfStoYIS6HIRXnhQCXS1myfP+Hl8GhqTWYi6orJlQmrGBZ5vNv6JMRhfkb390+2ccA0AwDmSix0Llz2oKyheCAwTnzZSxe9rbl/x3u2Bg3s/GWhgibS3HeAdybc4Fi77vSYzZ3J8VxYIYbUFRRdzdkdB55drnyEa8U0l2H8pQIJzw1mxlI79fcpYRqmqAsYfky0f35c2btGThtT8Oc4xFz7E8OKtcrh/XyhgGC7aYp7SaG0eivetOLb201f/K4QQ70zp0TwimpQAJv1r1HDsM4DYB4KPTvNkOdzXxWkghGUtthzLlFlL9aWjr+RsjpEoNjVCKHrzy15PfccXKx/3bt38an8lA0o45MMM+5Ts9zVbZ8x7kDGa0uPHBgBgjKYM64y592tHjLxQXzLq2UD1vk+VYP+FxJjlNLri8gXWaXPu5RzJxUcX7KPjb2j//KO7fVU73hmsrCjc2lzFJzl/7Lj40uc0mTlT40XtAIBZi22Efd6iX2vzCuaKOSOeDR059KUqJXYpz3eGPgPD8VbvgI/zYj8JVFUVzLD/4HTmzOTymXeas0ddHnK37sWE+Y2q9M2+BDAm5knT/0dIyxxPZTlMZTlEZTlEVSXmYqoqVKUq6oeGh2h1jvh0CiGEGL0xxTJ97r1UkvrnbR83AcSEiXqEMTywrEBlKeRa+fF9CKFezd0AADDP6/nk1HLb7PkLdQUlC1mLNRdhzHQPXEhV5VB93SbXmk8fCtQeXH2mi+6qLIWBkNdkn6fROuPCB4XU9LHxAAMAgAjDCRnZk5KSnCWB6v2f6/ILXw7U1a5XT6KOP+FaYpmjbc78HxvKK6/BGtFyXPB1dxxq++zD//VX7Vw+2JsG4ZamXbwj+Sb7vEW/EXPz58Sn2wAAwHFa7ciSxUJa5jjfrm3/FFIzXo+0NO5U5bPTrDZB/zkLASz2BcGYnC4LQyi6Jsbw4nO83pJtyau8xlEy7dZQZ/NuAHi/TxkKAPDOtAp9UdmlgzD8k8Lo9EnmcZNvHqzjyT5vU8e6lU+c7GdEEPSs2ZZrmjBthja/cL7gTB0Vu+GPE+7Gsy7vt5te9mzZ9GfJM3A5ClUUGQA+lTpc1ZbJM+/Ql47+DuaPedHH5Ra6orKlYs6IWcG62vX60tGvB+tq1it+X/PJMidGp3cYx05cZqqccAPnSC469oCLXkOkpWlH2yfv/TxQe2D1UNXGhlub97BG0w2WqbPvNoyqvAZzvK77NTF6g9M0fvJPdMVlS71bN/8Fc9wvz2kjlgS9cjYCGB/rF8NFs7DTI4cDnYLR9ohgTi4SbeljnRVz7w+5W/agk1TZ/6cChDCGUZXXplz5vf/HOZKLiai1nay3IKVUVfy+Vv++3e95Nn/5x3BL047BzFpiD42DmONuDdRVr7NMnnkHZ08q6j4WAACiEc26kcULxdz8OeHG+i1tK/79M9StEw4AgJg3cl7Kd66/V0hNr4xLNY6eR5EjgeoDK9s+++DOcHPjcbV5Q4Hkcddjnr8j3NywzTJl1p2MyZLdff0QRd0oIdzStLO3ndsE554hD2CKFPaF3C17pIC3CfVj2hb2umpatq/6Vcbky/4oBXz9ei+V5bAaDvspVZWYZXSshRqiKO7Cei5a8cStpgFIrBkGgzBh1EikC6Eedtaqqsg+bxNrseYSrc7R/eaiURdZRfa667v27/nIu+PbN8KNR7YMZQG2GokEAPDfwg1HvjGOm/xjfXH55USrsx9/0yOEVFXqOrj3k3Br866ex6BSxA8cp0Xdd0kppWow2OnZuumVzi/XPjXQTYH+oIbDfsD4pXBz43bLlFl3ibn5s4GNViOooZDHtebTh/1VO/+VcEk5f4GhLncinMZAOMFIFTksh/rXH4+wvNaaf8F1nsO73w/7OvpkcAYAwCU5S4hGtFBFiVBVkZCiypSqsd6PsT6Q54aYzTTgaPDCDGDCIgAINzVs7SnSBEIY09iJP7LNWfA45jgtpZRSRQ5LrvYD/j073/VX7Xgn0ta692yXxGCW02iycqaax0+5RZOdNx0YVgMAQBVFcm9a/7xr9ScPnMx7CwBASMu8wLFg6e94Z+poRCmKtLXs7lj3+S/9e3e/1x+R6mBDRK1FV1R6qaly4g2cI7nY883GF9s//+iegdZMJhhahjyADRTAhAym3mi4QUStxbn0qtf4lPTKUP3hr/xVO5YHag+ulr3uhnOdGRBRa9GNLFlsHDPu//POtNGh+rqvmt567apTmSICAGgysyfZ5y1+MtzatKtzw5onI20te86HwmEADIzRmCbmFswJ1OxfeTbLpxKcGed9AEuAEJ+UUgIMESJtLVXnY+0eo9M7xJwRsyR3x6Hg4d5tbuIAxpgxGFOVQJfrfLyeBMOHRABLkCDBsCXhoZUgQYJhSyKAJUiQYNiSCGAJEiQYtiQCWIIECYYtiQCWIEGCYUsigCVIkGDYkghgCRIkGLYkAliCBAmGLYkAliBBgmHL/wFOHlcEA31/CgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from wordcloud import WordCloud\n",
    "import matplotlib.pyplot as plt\n",
    "import nltk\n",
    "import re\n",
    "import jieba\n",
    "\n",
    "#打开文本\n",
    "with open(\"红楼梦.txt\",'r', encoding=\"utf-8\") as f:\n",
    "    text = f.read()\n",
    "#文本清洗    \n",
    "tk_text = re.sub(\"[\\s+\\.\\!\\/_,$%^*(+\\\"\\']+|[+——！，。？?、~@#￥%……&*（）]+|[A-Za-z0-9]+\",\"  \",text)\n",
    "#分词\n",
    "raw_words = jieba.lcut(tk_text)\n",
    "#去噪\n",
    "words = [w for w in raw_words if len(w)!=1]\n",
    "#统计词频\n",
    "wfd = nltk.FreqDist(words)\n",
    "\n",
    "top50=[i[0] for i in wfd.most_common(50)]\n",
    "#去噪\n",
    "exclude_word = ['什么', '一个', '我们', '那里', '你们', '如今', '说道', '知道',\n",
    "                '自己', '奶奶', '一面', '太太', '只见', '两个', '没有',\n",
    "                '起来', '姑娘', '这里', '出来', '他们', '众人',\n",
    "               '怎么', '不是', '不知', '这个', '听见', '这样', '进来',\n",
    "                '东西', '告诉', '就是', '咱们', '袭人', '回来', '进来',\n",
    "                '大家', '告诉', '只是', '只得', '老爷', '丫头', '这些']\n",
    "\n",
    "\n",
    "path = r'C:\\Windows\\Fonts\\simhei.ttf'  #字体必须支持中文\n",
    "wc = WordCloud(stopwords=exclude_word,font_path=path, width=800, height=600, mode='RGBA', background_color=None,max_words=10).generate(\" \".join(top50))\n",
    "\n",
    "# 显示词云\n",
    "plt.imshow(wc, interpolation='bilinear')\n",
    "plt.axis('off')\n",
    "plt.show()\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3月出生学生的学号有0040  0041  0049  0050\n",
      "4月出生学生的学号有0002  0018  0019\n",
      "5月出生学生的学号有0016  0017  0038\n",
      "6月出生学生的学号有0003  0006  0013  0014  0015  0020  0035  0036  0037  0039  0047  0048\n",
      "7月出生学生的学号有0011  0012\n",
      "8月出生学生的学号有0033  0034  0045  0046\n",
      "9月出生学生的学号有0031  0032\n",
      "10月出生学生的学号有0010  0027  0028  0029  0030  0043  0044\n",
      "11月出生学生的学号有0009  0025  0026\n",
      "0月出生学生的学号有\n",
      "1月出生学生的学号有0005  0042\n",
      "2月出生学生的学号有0001  0004  0021\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import re\n",
    "import datetime\n",
    "from itertools import islice\n",
    "import matplotlib.pyplot as plt\n",
    "# 使matplotlib显示中文\n",
    "plt.rcParams['font.sans-serif']=['SimHei']\n",
    "\n",
    "# 学生类别字典\n",
    "studentType={}\n",
    "# 生日字典\n",
    "birthdayTable = {}\n",
    "# 文件缓存\n",
    "file_data=\"\"\"\"\"\"\n",
    "with open(\"student_info.txt\",mode='r+', encoding=\"utf-8\") as f:\n",
    "    # 文件第一行\n",
    "    file_data += f.readline() \n",
    "    # 从第二行遍历\n",
    "    for line in f:\n",
    "        # 取学号\n",
    "        id=line[0:4]\n",
    "        # 取学生类别并加入字典\n",
    "        type = re.search(\"\\s(\\S+届)\",line).group(1)\n",
    "        studentType.setdefault(type,0)\n",
    "        studentType[type]+=1\n",
    "        # 取生日年份和月份并判断是否需要替换\n",
    "        birthYear=int(re.search(\"\\s(\\d+)/\",line).group(1))\n",
    "        birthMonth=int(re.search(\"/(\\d+)/\",line).group(1))\n",
    "        if (birthYear == 2001 and  birthMonth < 9) or birthYear < 2001:\n",
    "            line=re.sub(\"共青团员\",\"群众\", line)\n",
    "        file_data +=line\n",
    "        # 加入生日字典\n",
    "        birthdayTable.setdefault(birthMonth,[])\n",
    "        birthdayTable[birthMonth].append(id)\n",
    "# 写入替换后的文件\n",
    "    f.seek(0)\n",
    "    f.truncate()\n",
    "    f.write(file_data)\n",
    "\n",
    "# 获取当前月份\n",
    "nowMonth = datetime.datetime.now().month\n",
    "\n",
    "for i in range(12):\n",
    "    # 从3月开始\n",
    "    month = (nowMonth+i)%12\n",
    "    # 根据月份获取学号列表\n",
    "    idList = \"  \".join(birthdayTable.get(month,[]))\n",
    "    print(\"{}月出生学生的学号有{}\".format(month,idList))\n",
    "    \n",
    "\n",
    "# 画饼图    \n",
    "plt.pie(studentType.values(),labels=studentType.keys())\n",
    "\n",
    "plt.title(\"考生类别分布比率\")\n",
    "plt.axis('equal') \n",
    "plt.show() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "EOL while scanning string literal (<ipython-input-7-37563c378391>, line 13)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  File \u001b[1;32m\"<ipython-input-7-37563c378391>\"\u001b[1;36m, line \u001b[1;32m13\u001b[0m\n\u001b[1;33m    conversation?''''\u001b[0m\n\u001b[1;37m                     \n^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m EOL while scanning string literal\n"
     ]
    }
   ],
   "source": [
    "str=r'''Alice's Adventures in Wonderland by Lewis Carroll 1865 \\\n",
    "\n",
    "CHAPTER I. Down the Rabbit-Hole \\\n",
    "\n",
    "Alice was beginning to get very tired of sitting by her sister on the \\\n",
    "\n",
    "bank, and of having nothing to do: once or twice she had peeped into the\\\n",
    "\n",
    "book her sister was reading, but it had no pictures or conversations in\\\n",
    "\n",
    "it, 'and what is the use of a book,' thought Alice'without pictures or\\\n",
    "\n",
    "conversation?''''"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor([[0.6172, 0.2704, 0.3870],\n",
      "        [0.2190, 0.5592, 0.3419],\n",
      "        [0.8909, 0.6445, 0.7948],\n",
      "        [0.0672, 0.4299, 0.8752],\n",
      "        [0.6418, 0.4819, 0.7358]])\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "x = torch.rand(5,3)\n",
    "print(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "torch.cuda.is_available()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-8"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = 10\n",
    "y = -2\n",
    "x += y\n",
    "x*-1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "tf20",
   "language": "python",
   "name": "tf20"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
